解决方案:检查你自己在定义mockStatic(类名.class);文件在测试结束后是否关闭掉这个mockStatic静态模拟对象,如果没关闭,你在另外一个测试类中再次创建该类的静态模拟对象,就会报这个错误。
问题分析:There are test failures.
控制台报错: Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
这个是提示你去相应的转储文件里面去找具体的报错信息!(一般在target下面的surefire-reports包里面,具体可以看报错日志)
static mocking is already registered in the current thread
具体操作:
1.在@BeforeEach或者@BeforeAll等注解中找出在测试之前加载的mockStatic(类名.class)对应的属性;
譬如:user = mockStatic(User.class);
@Before
void before(){
User user = mockStatic(User.class);
}
2.在测试类中添加关闭方法,用注解@After注释,在方法内部关闭释放掉静态模拟对象(注意:多个类中同时使用也要在相应类中关闭)
操作示例:user.close;
@After
void after(){
user.close();
}