Requirejs QUnit自动启动

Requirejs QUnit自动启动,requirejs,qunit,Requirejs,Qunit,我正在使用QUnit测试我的JavaScript。我也在使用requirejs。我有如下的测试代码: QUnit.config.autostart = false; require(['tests/tests'], function () { QUnit.start(); //Tests loaded, run tests }); 这在FF(19.0.2)中非常有效,但在Chrome(27)和IE(10)中,我都遇到了一个QUnit错误: “测试上下文之外的pushFailure()

我正在使用QUnit测试我的JavaScript。我也在使用requirejs。我有如下的测试代码:

QUnit.config.autostart = false;

require(['tests/tests'], function () {
    QUnit.start(); //Tests loaded, run tests
});
这在FF(19.0.2)中非常有效,但在Chrome(27)和IE(10)中,我都遇到了一个QUnit错误:

“测试上下文之外的pushFailure()断言”


原来我不需要打电话给QUnit.start在IE和Chrome中。其他人看到了这一点,或者对原因有什么建议吗?

如果其他人遇到了这个问题,我已经找到了解决办法。根据经验,Chrome和IE都会在访问QUnit并启动加载调用后立即触发QUnit的加载事件。我所做的是:

<script type="text/javascript" src="qunit-1.11.0.js"></script>
<script type="text/javascript">
    QUnit.config.autostart = false;
</script>
    <script type="text/javascript" data-main="main" src="require.js"></script>

QUnit.config.autostart=false;
因此,加载QUnit,设置autostart,然后加载requirejs


这比在main.js中设置autostart=false更麻烦,但它有工作的好处:)

这似乎也是一个很好的解决方案: