Ich verwende merb mit rspec und webrat. Wie kann ich sicherstellen, dass die rjs-Vorlage erfolgreich gerendert wurde? Ich kann nicht einfach have_xpath wegen ajax schreiben.
Antworten
Zu viele Anzeigen?Das ist nicht einfach. Sie erwähnen bereits Selenium, die vom Browser den ganzen Weg nach unten testen wird, aber es ist langsam. Mein Vorschlag ist, dies in zwei Teile zu zerlegen. Verwenden Sie zunächst rspec, um die Ausgabe der ursprünglichen Seitenanforderung zu überprüfen, um sicherzustellen, dass sie das JavaScript enthält, von dem Sie glauben, dass es vorhanden ist, und auch die Ajax-Antwort, um sicherzustellen, dass sie korrekt bedient wird.
Der Trick besteht nun darin, das JavaScript selbst zu testen. Es gibt eine Reihe von Testbibliotheken für JavaScript. Ich empfehle jUnit. Schreiben Sie Tests wie für rspec und testen Sie die Funktion Ihrer Ajax-Anfrage und die resultierende rjs separat.
Schließlich verwenden Sie Selenium, um den gesamten Stack auszuführen und zu beweisen, dass alles zusammen funktioniert. Wenn es Bugs gibt, gehen Sie zurück zu einem Ihrer Unit-Tests und schreiben Sie einen einfacheren Test, der den Bug aufdeckt.