我希望每次记录错误时我的测试都会失败,并且我不想在每次测试中都重复一个expect子句。
我记下了我的logger.error函数,以为我可能会在存根中失败。
调用assert.fail
或抛出Error
都不会导致测试失败:
loggerErrorStub = sinon.stub(Logger.prototype, 'error').callsFake((msg) => {
console.log(`[[ERROR]] MSG: ${msg}`);
assert.fail(`actual`, `expected`, `message`);
throw new Error();
});
在describe/it
子句的主体中调用其中任何一个都可以正常工作。所以,我猜测问题是,在存根中,Mocha缺少一些上下文。
我总是可以在expect
的末尾添加一个it
子句,例如expect(loggerErrorStub).to.not.have.been.called
,但是我想要在所有测试中都这样做,并且不想重复在每次测试中排队。