首先简短说明:以下剪辑中的测试永远不会执行:
setTimeout(function() {
test("test", function() {
ok(true, "okay");
})
}, 1000);
有没有办法不自动启动mocha-qunit-ui但是等待一些异步回调来创建测试?
那么,为什么我会这样需要呢?
我正在尝试使用nodejs和mocha-qunit-ui为我的类运行浏览器测试。这些类由requirejs加载 asynchrously 。
所以我可以创建一个这样的测试:
test("test", function() {
stop();
requirejs(
['Dependency'],
function(Dependency)
{
expect(1);
var d = new Dependency();
ok(d.test(), "test");
start();
}
);
}
但是我想在具有相同依赖关系的同一个类上运行多个测试,所以我想创建一个测试对象
var d = new Dependency();
在测试之外。但是测试将在异步调用中进行,因此永远不会被调用。
答案 0 :(得分:0)
好吧,我对mocha-qunit-ui
插件并不是非常熟悉,但是QUnit has a config object可以用来告诉它在你准备好之前不要运行(所以你可以加载所有的类,等等):
<script src="path/to/qunit.js"></script>
<script>
QUnit.config.autostart = false; // be sure this is set BEFORE you add your actual tests
require(
[ "whatever", "your", "dependencies", "are" ],
function() {
QUnit.start(); // tell QUnit you're ready to go
}
);
<script>