Ich habe die folgende Funktion in der SteuerungTest-Schienen-Controller, der in verschiedenen Formaten reagieren
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
und Planung der automatischen Prüfung auf folgende Weise
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
und ich in 50ms abschloß zu schreiben (Ansicht: 0, DB: 230) | 406 Not Acceptable [http://test.host/search/by_xy/4831/3242.json]
wenn ich Format in Testcode verpasst - das alles funktioniert, richtig
wie soll ich schreiben den Test?
Nicht sicher, ob dies an einem Punkt funktionierte, aber es scheint nicht mehr zu sein. –
Der Hash für: x, und: y ist das Problem, entfernen Sie den Hash. Also haben Sie etwas wie: 'Get: Aktion, param1: 'a', param2: 'b', Format:: json' – Josh