@ExtendWith (SpringExtension.class) против @ExtendWith (MockitoExtension.class) - PullRequest
0 голосов
/ 19 февраля 2020

Я использовал @RunWith(MockitoJUnitRunner.class) для теста на джунит с mockito. Но сейчас я работаю с spring-boot и JUnit 5. В чем разница между двумя аннотациями? Могу ли я использовать только @ExtendWith(SpringExtension.class), чтобы высмеивать мои объекты?

1 Ответ

3 голосов
/ 19 февраля 2020

При использовании Spring :

Если вы хотите использовать в своих тестах возможности среды тестирования Spring, такие как, например, @MockBean, то вы должны использовать @ExtendWith(SpringExtension.class). Он заменяет устаревший JUnit4 @RunWith(SpringJUnit4ClassRunner.class)

Когда НЕ задействован Spring :

Если вы просто хотите задействовать Mockito и не должны включать Spring, например, когда вы просто хотите использовать аннотации @Mock / @InjectMocks, тогда вы хотите использовать @ExtendWith(MockitoExtension.class), так как он не загружается в кучу ненужных вещей Spring. Он заменяет устаревший JUnit4 @RunWith(MockitoJUnitRunner.class).

. Чтобы ответить на ваш вопрос :

Да, вы можете просто использовать @ExtendWith(SpringExtension.class), но если вы не используете Spring test фреймворк в ваших тестах, тогда вы, вероятно, захотите просто использовать @ExtendWith(MockitoExtension.class).

...