Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

detecting test failures from within afterEach hooks in Mocha

I'm trying to create an afterEach hook with logic that should only fire if the previous test failed. For example:

it("some_test1", function(){   // something that could fail })  it("some_test2", function(){   // something that could fail })  afterEach(function(){   if (some_test_failed) {     // do something to respond to the failing test   } else {     // do nothing and continue to next test   } }) 

However, I have no known way of detecting if a test failed from within the afterEach hook. Is there some sort of event listener I can attach to mocha? Maybe something like this:

myTests.on("error", function(){ /* ... */ }) 
like image 237
omdel Avatar asked Jun 12 '14 22:06

omdel


1 Answers

You can use this.currentTest.state (not sure when this was introduced):

afterEach(function() {   if (this.currentTest.state === 'failed') {     // ...   } }); 
like image 166
Nevir Avatar answered Oct 11 '22 13:10

Nevir