我正在使用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()断言”
事实证明,我不需要在IE和Chrome中调用QUnit.start。有没有其他人看过或者有任何建议来解释为什么?
发布于 2013-04-01 01:58:41
如果其他人遇到这个问题,我已经找到了解决方案。根据经验,Chrome和IE都会在访问QUnit并启动load调用时立即触发QUnit的load事件。我所做的是:
<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更麻烦,但它有工作的好处:)
https://stackoverflow.com/questions/15716238
复制相似问题