Junit5如何只加载一次SpringBoot上下文环境

qaxu7uf2  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(75)

单元测试时,执行一个测试类需要启动springboot项目,加载上下文数据,每次执行测试时都要重新加载上下文。这导致每次单元测试都要花费3-5分钟的时间。如何解决这个问题?

bpsygsoo

bpsygsoo1#

问题是你不需要为单元测试加载完整的上下文。
@SpringBootTest annotation加载整个Spring上下文。将其保留用于集成测试或需要完整上下文时(这取决于您感兴趣的测试类型)。
对于单元测试(比如测试服务类),考虑使用Mockito框架。Sping Boot 提供的@MockBean annotation允许您将mock对象添加到Spring应用程序上下文。这可以显著减少启动时间,因为它避免加载实际的bean及其依赖项。单元测试应该是快速和隔离的,这些测试不需要完整的应用程序上下文。

相关问题