7

JUnit Jupiter 拡張モデルのBeforeEachCallbackとの違いを正確に説明しているリソースが見つかりません。BeforeTestExecutionCallback(もちろん、「After」バリアントにも興味があります)

私の理解では、次のタイムラインは何が起こっているかを示しています。

BeforeEach- BeforeTestExecution- Actual execution of the test- AfterTestExecution-AfterEach

すべてのコールバックが処理された後、実際のテスト実行前にBeforeTestExecutionコードを実行できるように、それが存在すると思います。しかし、誰もが代わりに使用でき、これらのコールバックの実行順序が再びランダムになるため、BeforeEachこれはまだ不明です。BeforeTestExecutionBeforeEach

では、BeforeTestExecutionこのコールバックを複数の拡張機能で同時に使用すると、正確には何のために、何が起こるのでしょうか?

4

1 に答える 1

6

Javadocs ( herehere ) では明確に区別されていませんが、JUnit5 ドキュメントには次のものが含まれています。

BeforeTestExecutionCallbackそしてAfterTestExecutionCallback、テストメソッドが実行される直前と直後にそれぞれ実行される動作を追加したい拡張機能の API を定義します。そのため、これらのコールバックは、タイミング、トレース、および同様のユース ケースに適しています。@BeforeEachand@AfterEachメソッドの周りで呼び出されるコールバックを実装する必要がある場合は、代わりにBeforeEachCallbackandを実装しAfterEachCallbackます。

したがって、セットアップなしでテスト実行のみをラップする場合は、 を使用しますBeforeTestExecutionCallback。ドキュメントは、BeforeTestExecutionCallback.

于 2018-06-06T17:12:57.127 に答える