当QUnit完成运行所有测试时的回调.(' QUnit.done() '未按预期工作)

Callback for when QUnit has finished running all tests. (`QUnit.done()` not working as expected)

本文关键字:QUnit done 工作 回调 运行 测试      更新时间:2023-09-26

QUnit有许多回调函数,例如:

  • QUnit.done()
  • QUnit.moduleDone()
  • QUnit.testDone()

问题是QUnit.done()不按预期工作。它实际上在每次测试后触发。这是预期行为吗?

一旦页面加载(使用jQuery),我将所有测试注册到QUnit中,如下所示,因为它们(不幸的是)依赖于首先加载的应用程序。并且它们被拆分到多个处理程序中,因此测试可以放在不同的文件中。

$(function(){
    QUnit.module( "Module 1" );
        QUnit.test("Test 1", function( assert ){
            assert.ok(true);
        });
    });
});
$(function(){
    QUnit.module( "Module 2" );
        QUnit.test("Test 2", function( assert ){
            assert.ok(true);
        });
    });
});

这是done()在每次测试后被调用的原因吗?除了将所有测试放在一个文件中之外,还有其他方法可以解决这个问题吗?

我在一个类似的问题中找到了答案。

诀窍是设置QUnit.config.autostart = false,然后一旦加载了所有测试并加载了应用程序,就开始测试。