私は QUnit を初めて使用し、いくつかのテストを作成しようとしました。ナビゲーションのクリックをシミュレートするために ajax-Request を送信しました。その後、2 つの入力フィールドに入力して送信ボタンをクリックします。ここで、結果を待って、予想される「電子メールが送信されました」という成功メッセージを取得したいと思います。残念ながら、無限ループのようにテスト スイートが何度も開始されます。何が問題なのですか? 前もって感謝します。
これが私のコードです:
// Aufruf in layouttest.phtml
function runTestSuite(){
// Standardtest QUnit
test("Standardtest", function() {
ok(true, "Test erfolgreich durchlaufen.");
var value = "hallowelt";
equal( value, "hallowelt", "Wert hallowelt wird erwartet!" );
});
// Sende Formularinfo an Server
test("Klick Kontakt, sende Formular", function() {
var mes = "test: Klick Kontakt, sende Formular;";
stop(); // Test anhalten fuer bestimmte Zeitspanne
// Ajax1: Klicke Kontakt
jQuery.ajax({
url: "./../index/kontakt/",
async: false,
success: function(response){
if (response){
jQuery('#ajaxcontent').html(response);
}
},
context: document.body,
type: "GET"
});
// Aktion: Fuelle Formular, Klick auf Button;
var emailField = jQuery('input#email').eq(0);
emailField.val('xxx@xxx.com');
var textArea = jQuery('textarea#ta01').eq(0);
textArea.val('Testcontent ...');
var submitButton = jQuery('input#submit').eq(0);
submitButton.click();
// Warte auf Resultat, unterbreche test-Funktion, pruefe Assertion, lasse Test weiterlaufen;
setTimeout(function(){
var exp = "E-Mail verschickt.";
var act = jQuery('#ajaxcontent h3 p').eq(0).text();
equal(act, exp, mes);
// Restart des Tests
start();
}, 3000); // 3 Sekunden warten
});
}