ReferenceError:notOk未定义

时间:2015-10-08 02:53:57

标签: javascript unit-testing qunit

我使用QUnit进行JavaScript单元测试,已经进行了不少测试。他们中的大多数人使用断言:

ok(condition.isTrue());

这些测试由Visual Studio嵌入式测试系统(在"测试资源管理器")和外部'中运行良好。 QUnit引擎(通过点击' QUnit测试(点击运行)'显示的上下文菜单,如果您点击QUnit测试的左侧圈子,则会显示)。

但是如果我以另一种方式使用assert:

notOk(condition.isFalse());

然后测试仅在Visual Studio测试系统内部运行良好,而尝试通过QUnit运行测试会产生以下错误:

Died on test #1     at http://localhost:64720/Tests.js:123:1: notOk is not defined
Source:     
ReferenceError: notOk is not defined
    at Object.<anonymous> (http://localhost:64720/Tests.js:129:5)
    at Object.Test.run (http://localhost:64720/qunit.js:790:18)
    at http://localhost:64720/qunit.js:877:10
    at process (http://localhost:64720/qunit.js:593:24)
    at http://localhost:64720/qunit.js:182:5

为什么会发生这种情况以及如何制作&#34; notOk&#34;由QUnit正确运行?

谢谢。

2 个答案:

答案 0 :(得分:2)

您是否面临与此处相同的问题:'equal' is not defined : Ember-qunit does not seem to be importing

解决方案是使用notOk通过断言,如下所示:

test('it is not ok', function(assert) {
   var some_value = false;
   assert.notOk(some_value);
});

答案 1 :(得分:0)

我有类似的问题。问题是我的qunit版本较旧。我刚刚将bower.json的{​​{1}}更新为qunit(以前是1.19.0)。