抱歉,如果这很明显,但是如果我们想断言方法返回 false,QUnit 中是否有 notOK 或等效函数?
我在文档中看不到否定 OK 的方法。
我试过:
!ok...
但这没有用。
你可以使用:ok(!method_expected_to_be_false)
根据文档:
QUnit 中最基本的断言 ok() 只需要一个参数。如果参数的计算结果为真,则断言通过;否则,它会失败。
您可以通过编写表达式来验证方法是否返回 false 值,该表达式true
在方法返回的情况下计算为一个值,false
反之亦然。最简单的表达式是 NOT 运算符,它在 JavaScript 中通过!
test( "Test method returns false ", function() {
ok( method() == false, "Method returned false" );
// or using a the negation operator
ok( !method(), "Method returned false" );
});
更好的方法是使用:
notOk(<something>);
因为它比陈述更具表现力:
ok(!<something>);
从qunit 1.18开始,有一个专用功能:
assert.notOk(valueToBeTested);
如果这是您真正非常想要的东西,您可以添加它QUnit.extend()
:
QUnit.extend(QUnit.assert, {
notOk: function (result, message) {
message = message || (!result ? "okay" : "failed, expected argument to be falsey, was: " +
QUnit.dump.parse(result));
QUnit.push(!result, result, false, message);
},
});