Hallo: Ich bin seit einigen Tagen auf diesem Test mit Capybara fest und kann keine Lösung erarbeiten.Capybara nicht rendering .js.erb
1) Mein Ajax-Ereignis löst die Anforderung erfolgreich: einigen DOM Modifikation hat kurze unter Verwendung von AJAX, langer Geschichte zu
$.ajax({ url: 'nice_url', data: data, complete: function() {debugger}
});
2) Der Controller empfängt die Anforderung einfach gut:
def update_dom
<other stuff>
respond_to do |format|
format.js
end
end
3) WICHTIG: Die Datei update_dom.js.erb wird korrekt in der DEV-Umgebung gerendert, aber NICHT im Test mit Capybara + RSpec.
update_dom.js.erb:
debugger; //first line, breakopint no stopp in Test
<% unless %W(boolean datetime).include?(@operators[:type])%>
$.each($('.values'), function(i, valueField){
<other stuff, etc...>
Dies ist eigentlich die ganze Angelegenheit und wird zu schätzen wissen alle Gedanken auf sie
Verwenden Sie tatsächlich Javascript-Treiber, um diese besondere Capybara-Test zu laufen? Ohne dies wird kein Javascript ausgelöst. Einfach, aber nur um sicher zu sein! – TomD
Hallo, @TomD: Danke für deinen Kommentar. Ich nehme an, Sie beziehen sich auf die Option 'js: true', die es in meinem Test gibt, ja. – LegaTux
könnten Sie Ihren Post bearbeiten, um Ihre rails_helper.rb und Ihren Spezifikationscode einzuschließen? Nur darüber nachdenken, Debugger Js-Deklaration stoppt js mit Debug-Tools aktiviert, nicht ganz sicher, dass diese in automatisierten Tests sind. Könntest du es versuchen und in js.erb den Debugger auf etwas wie <% raise> Error "%" umstellen und sehen ob es tatsächlich in dev AND test ausfällt? – TomD