问题
I know how to check if a test failed in the afterEach()
method of mocha: That's explained here: detecting test failures from within afterEach hooks in Mocha
But what about the people using suite
and test
(tdd) instead of describe
and it
??
How can I check if the current test failed here? The same code won't work because state
would be undefined:
teardown(async () => {
// check if failed:
if (this.currentTest.state === 'failed') {
console.log("fail");
}
});
回答1:
It seems that it works a little bit different with tdd (using suite
and test
).
Accessing this.ctx.currentTest
instead of this.currentTest
worked for me.
Example:
if (this.ctx.currentTest.state === 'failed') {
console.log(`'${this.ctx.currentTest.title}' failed`);
}
来源:https://stackoverflow.com/questions/58661128/how-to-check-in-the-teardown-method-of-mocha-tdd-if-the-current-test-failed