Динамическое DisplayName в Junit 5 - PullRequest
0 голосов
/ 06 ноября 2018

Есть ли в любом случае мы можем добиться динамического DisplayName в Junit 5 (например: заменить на системные свойства)

@DisplayName("The test cases is running agains {os.name}")
public void testOSVersion(){
     .....
}

Мы хотим сделать это, чтобы контрольные примеры были более наглядными.

Спасибо

1 Ответ

0 голосов
/ 06 ноября 2018

Это невозможно по умолчанию.

TestReporter

В текущих версиях Юпитера вы всегда можете использовать TestReporter для отправки дополнительных данных в отчеты:

@Test
void testOSVersion(TestReporter testReporter) {
    testReporter.publishEntry("os.name", System.getProperty("os.name"));
}

Подробнее см. https://junit.org/junit5/docs/current/user-guide/#writing-tests-dependency-injection

DisplayNameGenerator

Предстоящая версия 5.4.0 Jupiter, уже доступная как SNAPSHOT, поддерживает аннотацию под названием @DisplayNameGeneration, указывающую на пользовательскую реализацию DisplayNameGenerator. Здесь вы можете динамически генерировать отображаемое имя для тестового метода, используя его имя, прикрепленные аннотации и т. Д. *

Подробнее см. https://junit.org/junit5/docs/snapshot/user-guide/#display-name-generators

...