JUnit 5ではTestInfo、JUnit 4のTestNameルールのドロップイン代替として機能します。
ドキュメントから:
TestInfoは、現在のテストまたはコンテナに関する情報を@ Test、@ RepeatedTest、@ ParameterizedTest、@ TestFactory、@ BeforeEach、@ AfterEach、@ BeforeAll、および@AfterAllメソッドに挿入するために使用されます。
現在実行されているテストのメソッド名を取得するには、String TestInfo.getDisplayName()およびの
2つのオプションがあります Method TestInfo.getTestMethod()。
現在のテストメソッドの名前のみを取得 TestInfo.getDisplayName()するには、テストメソッドのデフォルトの表示名がであるため、十分ではない場合がありますmethodName(TypeArg1, TypeArg2, ... TypeArg3)。
でメソッド名を複製する@DisplayName("..")必要はありません。
別の方法としてTestInfo.getTestMethod()、Optional<Method>オブジェクトを返すものを使用でき
ます。
検索メソッドがテストメソッド内で使用されている場合、Optionalラップされた値をテストする必要すらありません。
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.TestInfo;
import org.junit.jupiter.api.Test;
@Test
void doThat(TestInfo testInfo) throws Exception {
Assertions.assertEquals("doThat(TestInfo)",testInfo.getDisplayName());
Assertions.assertEquals("doThat",testInfo.getTestMethod().get().getName());
}