0

我是 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
});
}
4

0 回答 0