Sio*_*733 23 javascript node.js chai
在JUnit中,您可以通过执行以下操作来使测试失败:
fail("Exception not thrown");
Run Code Online (Sandbox Code Playgroud)
使用Chai.js实现相同目标的最佳方法是什么?
Dmy*_*nko 52
有assert.fail()
.你可以像这样使用它:
assert.fail(0, 1, 'Exception not thrown');
Run Code Online (Sandbox Code Playgroud)
has*_*nge 26
有许多方法可以假装失败 - 就像assert.fail()
@DmytroShevchenko 所提到的那样 - 但通常,可以避免这些拐杖并以更好的方式表达测试的意图,如果测试失败,这将导致更有意义的消息.
例如,如果您希望抛出异常,为什么不直接这样说:
expect( function () {
// do stuff here which you expect to throw an exception
} ).to.throw( Error );
Run Code Online (Sandbox Code Playgroud)
如您所见,在测试异常时,您必须将代码包装在匿名函数中.
当然,你可以通过检查更具体的错误类型细化测试,预期的错误信息等.请参阅.throw
在柴文档为多.
Nig*_*ist 10
你试一试
expect.fail("custom error message");
Run Code Online (Sandbox Code Playgroud)
或者
should.fail("custom error message");
Run Code Online (Sandbox Code Playgroud)
如柴文档所述:https : //www.chaijs.com/api/bdd/#method_fail