Ich möchte testen, ob meine Controller-Aktion einen partiellen Render-Vorgang ausführt.
Ich habe herumgestöbert und ich kann anscheinend nichts finden, was funktioniert.
Aktion erstellen:
%Vor%Spezifikation:
%Vor%Aktualisieren sehen Sie die Antwort von bluefish unten, es scheint die richtige Antwort zu sein
Würden Sie Capybara für Ihre Integrationstests in Betracht ziehen? Ich fand Ajax schwierig mit Rspec allein zu testen. In deinem Fall bin ich mir nicht einmal sicher, ob du schon eine Antwort bekommst. In Capybara wartet es darauf, dass der Ajax-Ruf beendet wird, und Sie können die page.has_xxxx aufrufen, um zu sehen, ob sie aktualisiert wurde. Hier ist ein Beispiel:
%Vor%Wenn Sie nach einer REAL-Antwort suchen ... (d. h. vollständig in RSpec und nicht mit Capybara), sagt die RSpec-Dokumentation, dass render_template ein Wrapper auf assert_template ist. assert_template ( gemäß den Dokumenten ) gibt außerdem an, dass Sie überprüfen können, ob ein partielles Element gerendert wurde, indem Sie Folgendes einschließen: Teilschlüssel.
Probieren Sie es aus ...
%Vor%Tags und Links ruby ruby-on-rails rspec