Должен ли SpringRunner использоваться в Spring Boot с Junit 5 - PullRequest
0 голосов
/ 24 февраля 2020

Я запутался в классе SpringRunner. Из Stackoverflow и Google понял, что SpringRunner и SpringJunit4ClassRunner - это одно и то же.

@RunWith(SpringRunner.class)

Мое понимание этого класса:

  • , что, как следует из его названия - это 'бегун' (он будет запускать тесты Junit)
  • Этот класс используется при выполнении модульного тестирования с аннотацией @RunWith
  • Эта аннотация помогает в загрузке контекста приложения Spring. и помогает 'autowire' зависимостей.
  • Этот класс следует использовать только в том случае, если нам нужны зависимости bean-компонентов Spring.
  • Поэтому этот класс следует использовать с осторожностью, в противном случае мы будем без необходимости загружать контекст Spring во время тестирования. .
  • Этот класс помогает Junit и Spring сотрудничать друг с другом.

С Junit5 и весенней загрузкой этот класс больше не требуется?

Если да, что мы должны использовать в весенней загрузке и среде Junit5 тогда?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

С Junit5 и весенней загрузкой этот класс больше не требуется?

Аннотация @RunWith (SpringRunner.class) больше не требуется, вы можете удалить его.

Кроме того, если вы используете только Junit5, рекомендуется исключить Junit4:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
    <exclusion>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
    </exclusion>
</exclusions>

0 голосов
/ 24 февраля 2020

Из ссылки document

Если вы используете JUnit 4, не забудьте также добавить @RunWith (SpringRunner.class) в ваш тест, иначе аннотации будут игнорироваться Если вы используете JUnit 5, нет необходимости добавлять эквивалент @ExtendWith (SpringExtension.class) в качестве @SpringBootTest, а другие @ ... аннотации теста уже аннотированы с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...