2013-08-01 2 views
3

Извините, если это очевидно, но есть ли функция NOTOK или эквивалентная функция в QUnit, если мы хотим утверждать, что метод возвращает false?QUnit, утверждать не в порядке?

Я не вижу способа отрицать ОК в documentation.

Я пробовал:

!ok... 

, но это не сработало.

ответ

7

Вы могли бы использовать: ok(!method_expected_to_be_false)

2

Согласно документации:

Самое основное утверждение в QUnit, хорошо() требует только один аргумент. Если аргумент оценивается как true, утверждение проходит; в противном случае он не работает.

Вы можете проверить, что метод возвращает ложное значение, написав выражение, которое рассчитывает значение 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"); 
}); 
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); 
    }, 
}); 
-1

лучше было бы использовать:

notOk(<something>); 

, как это будет более выразительным, чем заявление:

ok(!<something>); 
0

, начиная с qunit 1.18 есть выделенная функция:

assert.notOk(valueToBeTested); 
Смежные вопросы