我使用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正确运行?
谢谢。
答案 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
)。