MochaのafterEachフック内からテストの失敗を検出する 質問する

MochaのafterEachフック内からテストの失敗を検出する 質問する

前のテストが失敗した場合にのみ実行されるロジックを含む afterEach フックを作成しようとしています。例:

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
  }
})

しかし、afterEach フック内からテストが失敗したかどうかを検出する方法はわかりません。mocha にアタッチできるイベント リスナーはありますか? おそらく次のようになります。

myTests.on("error", function(){ /* ... */ })

ベストアンサー1

以下を使用できますthis.currentTest.state(いつ導入されたかは不明)。

afterEach(function() {
  if (this.currentTest.state === 'failed') {
    // ...
  }
});

おすすめ記事