我是 QUnit 的新手,并尝试编写一些测试。我发送了一个 ajax-Request 来模拟导航中的点击。之后,我尝试填写两个输入字段并单击提交按钮。现在我想等待结果并获取预期的“电子邮件已发送”成功消息。不幸的是,测试套件一次又一次地启动——就像一个无限循环——出了什么问题?提前致谢。
这是我的代码:
// 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
});
}