When to use @RunWith and when @ExtendWith

前端 未结 3 1142
抹茶落季
抹茶落季 2020-12-28 12:53

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

相关标签:
3条回答
  • 2020-12-28 13:05

    @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.

    0 讨论(0)
  • 2020-12-28 13:09

    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.

    1. SpringRunner
    2. MockitoJUnitRunner
    3. SpringExtension
    4. MockitoExtension
    0 讨论(0)
  • 2020-12-28 13:10

    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

    .

    0 讨论(0)
提交回复
热议问题