実装する必要があるのは以下の 2 つのクラスくらい
TestEngine
TestDescriptor
エンジンのエントリーポイント。 JUnit Launcher は ServiceLoader
の仕組みを使って、エンジンのインスタンスを取得して起動する
discover
- これによりテストを表すクラス・メソッドなどをスキャンする。スキャンした内容をTestDescriptor
に入れて返すgetId
- エンジンを表す ID。エンジンの ID としてUniqueId
がここから作られるexecute
- テストを実行する。パラメーターのExecutionRequest
からdiscover
でスキャンしたテストの集合が得られるので、それを一つずつ実行する。 実行の開始、終了はExecutionRequest
から取得できるEngineExecutionListener
に都度報告する
テスト、あるいはテストを内包するコンテナクラス、あるいはエンジンのメタ情報をもつオブジェクト。以下のヒエラルキーを持つ。
- エンジンディスクリプター - テストエンジンを表す。
children
に 2. を持つ/getSource
は必ずOptional
を返す - コンテナディスクリプター - テストケースクラスを表す。
children
に 3. を持つ/getSource
はClassSource
を返す - メソッドディスクリプター - テストメソッド、つまり個々のテストを表す/
getSource
はMethodSource
を返す