问题 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()断言在测试上下文之外”

事实证明,我不需要在IE和Chrome中调用QUnit.start。有人看过这个或者有什么建议吗?


9898
2018-03-30 07:37


起源



答案:


如果有其他人遇到这个问题,我找到了解决方案。实际上,只要访问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更麻烦,但它有工作的好处:)


14
2018-03-31 17:58



这似乎也是一个很好的解决方案: stackoverflow.com/questions/15921707/... - Manuel Bitto


答案:


如果有其他人遇到这个问题,我找到了解决方案。实际上,只要访问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更麻烦,但它有工作的好处:)


14
2018-03-31 17:58



这似乎也是一个很好的解决方案: stackoverflow.com/questions/15921707/... - Manuel Bitto