java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > @SpringBootTest单元测试的坑

解决@SpringBootTest 单元测试遇到的坑

作者:1251578741

这篇文章主要介绍了解决@SpringBootTest 单元测试遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@SpringBootTest单元测试的坑

1、环境

spring boot 版本:2.4.3

2、遇到的问题

(1)@Before、@After 失效

(2)org.junit.runners.model.InvalidTestClassError:

3、解决方式

注意 import 的 junit 包的配套问题

#junit5 配套
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
 
#junit4 配套
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

问题1

问题2

Test类运行单元测试失效

Test测试类无法执行完全问题

再通过java Test类跑批单元测试的时候,发现效果与程序执行的效果不一样,经过debug发现断点无法执行完成。

后来发现问题原因是,test执行单元测试时候如存在线程的情况下,主线程结束后,整个方法就会关闭,方法内部线程有时候不会执行完就结束了,若是方便的话可以直接在主测试方法后面加上,阻断等待语句。

在这里插入图片描述

防止测试类主线程提前结束导致线程失效。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文