My team and I have been working on a bunch of microservices using Spring boot. Since the services went through JUnit and Spring Boot upgrades (We\'re using now Spring Boot
@RunWith
is an old annotation from JUnit 4 to use test runners. If you're using JUnit 5 (Jupiter), you should use @ExtendWith
to use JUnit extensions.
If you are using Junit version < 5, so you have to use @RunWith(SpringRunner.class)
or @RunWith(MockitoJUnitRunner.class)
etc.
If you are using Junit version = 5, so you have to use @ExtendWith(SpringExtension.class)
or @ExtendWith(MockitoExtension.class)
etc.
The answer can be found in the documentation:
If you are using JUnit 4, don’t forget to add @RunWith(SpringRunner.class)to your test, otherwise the annotations will be ignored. If you are using JUnit 5, there’s no need to add the equivalent @ExtendWith(SpringExtension.class) as @SpringBootTest and the other @…Testannotations are already annotated with it
.