JUnit 5でテストメソッドの名前を取得するにはどうすればよいですか?
テストメソッドでTestInfo
型のパラメーターを宣言すると、JUnitが自動的にそのインスタンスをメソッドに提供します。
@Test
void getTestInfo(TestInfo testInfo) { // Automatically injected
System.out.println(testInfo.getDisplayName());
System.out.println(testInfo.getTestMethod());
System.out.println(testInfo.getTestClass());
System.out.println(testInfo.getTags());
}
上記のように、TestInfo
インスタンスからテストメソッド名(およびその他)を取得できます。
個人的に私はこれを使うことを好みます:
System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());