0

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");
    }
  });
hardfork
  • 2,470
  • 1
  • 23
  • 43

1 Answers1

0

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`);
}
hardfork
  • 2,470
  • 1
  • 23
  • 43