Ho la seguente funzione nel controlloprova rotaie controller che risponde in diversi formati
def by_xy
@obj = BldPoly::find_by_xy(:x => params['x'], :y => params['y'])
respond_to do |format|
format.html { render :layout => false }
format.xml { render :layout => false }
format.json { render :layout => false }
end
e la pianificazione di scrivere il test automatico nel modo seguente
xml = nil
get :by_xy, {:x => 4831, :y => 3242, :format => :json}
assert_nothing_thrown { xml = REXML::Document.new(@response.body) }
td = REXML::XPath.first(xml, "//result/item")
assert_equal need_value, td.value
e vengo Completato nel 50ms (Visualizza: 0, DB: 230) | 406 Non accettabile [http://test.host/search/by_xy/4831/3242.json]
quando ho perso formato nel codice di test - tutto funziona correttamente,
come devo scrivere il test?
Non so se questo ha funzionato in un punto, ma non sembra più. –
L'hash utilizzato per: x, e: y è il problema, rimuovere l'hash. Quindi, avrai qualcosa del tipo: 'get: action, param1: 'a', param2: 'b', formato:: json' – Josh