在单元测试中,可能会遇到如图中所示的JUnit Vintage报错,这种情况可能是因为junit4和5注解混用了。
常见原因及解决方法如下:
- 使用@RunWith(MockitoJUnitRunner.class)开启Mock注解时,使用的是junit5的注解org.junit.jupiter.api.Test。
解决方法: 因为@RunWith是junit4的注解,所以需要将@Test替换为junit4的注解org.junit.Test。如果项目中需要使用junit5做单元测试, 通过如下方式开启Mock注解:
@BeforeEach
public void setUp() {
MockitoAnnotations.openMocks(this);
}
温馨提示:
在做单元测试时需要注意不要混用注解,可以在pom文件中只保留junit4或者junit5其中之一的jar包。



