Заказ нескольких расширений в JUnit 5 - PullRequest
1 голос
/ 23 мая 2019

Если я использую более одного расширения с JUnit 5, какой порядок?В идеале порядок int в аннотации @ExtendsWith соблюдается, но я не смог найти никакой документации по этому поводу.

Пример:

@ExtendWith({SpringExtension.class, InitH2.class})
public class VmRepositoryIntegrationTest {
  // Test implemenations
}

Так что в этом примере мне нужно Spring для настройкиСоединение с БД до того, как я не смогу инициализировать БД.

1 Ответ

1 голос
/ 23 мая 2019

С §5.2.1 Руководства пользователя JUnit 5 :

...

Несколько расширений могут быть зарегистрированы вместе, как это:

@ExtendWith({ DatabaseExtension.class, WebServerExtension.class })
class MyFirstTests {
    // ...
}

В качестве альтернативы, несколько расширений могут быть зарегистрированы отдельно, как это:

@ExtendWith(DatabaseExtension.class)
@ExtendWith(WebServerExtension.class)
class MySecondTests {
    // ...
}

Порядок регистрации продления

Расширения, зарегистрированные декларативно через @ExtendWith, будут выполняться в том порядке, в котором они объявлены в исходном коде. Например, выполнение тестов в MyFirstTests и MySecondTests будет расширено на DatabaseExtension и WebServerExtension, именно в таком порядке .

...