我正在使用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错误:
“testFailure()断言在测试上下文之外”
原来我在IE和Chrome中不需要调用QUnit.start。有人看过这个或者有什么建议吗?
答案 0 :(得分:14)
如果有其他人遇到此问题,我找到了解决方案。实际上,只要访问QUnit并启动加载调用,Chrome和IE就会触发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,设置自动启动然后加载requirejs
这比在main.js中设置autostart = false更麻烦,但它有以下好处:)