3

抱歉,如果这很明显,但是如果我们想断言方法返回 false,QUnit 中是否有 notOK 或等效函数?

我在文档中看不到否定 OK 的方法。

我试过:

!ok...

但这没有用。

4

5 回答 5

8

你可以使用:ok(!method_expected_to_be_false)

于 2013-08-01T13:01:59.837 回答
2

根据文档:

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" );
});
于 2013-08-01T13:05:35.107 回答
1

更好的方法是使用:

notOk(<something>);

因为它比陈述更具表现力:

ok(!<something>);
于 2015-09-22T12:25:15.513 回答
1

qunit 1.18开始,有一个专用功能:

assert.notOk(valueToBeTested);
于 2016-01-29T17:09:34.837 回答
0

如果这是您真正非常想要的东西,您可以添加它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);
    },
});
于 2014-11-18T21:21:25.583 回答