J'ai la fonction suivante dans le contrôleurtest rails contrôleur qui répondent à différents formats
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
et de planification pour écrire le test automatique de la manière suivante
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
et je me Achevé en 50ms (Vue: 0, DB: 230) | 406 Non acceptable [http://test.host/search/by_xy/4831/3242.json]
quand je raté le format dans le code de test - tout fonctionne correctement,
comment dois-je passer le test?
Vous ne savez pas si cela a fonctionné à un moment donné, mais cela ne semble plus le cas. –
Le hachage utilisé pour: x, et: y est le problème, retirez le hachage. Donc, vous aurez quelque chose comme: 'get: action, param1: 'a', param2: 'b', format:: json' – Josh