背景

在springBoot项目中执行Test测试的时候会提示报错。
报错信息

原因

很多类比如JPA的实体类,都需要项目加载的时候才能够使用new。

解决方法

在测试类前面加上如下代码

@SpringBootTest(
        /*MyframeApplication对应项目的启动类。如果不写这个的话,下面的service就无法自动注入。
         测试类启动时会先启动项目,再执行测试方法。也就是说测试类的测试依赖项目启动环境。*/
        classes = ApiApplication.class,
        /*因为测试的是service,禁用web以加快项目启动速度*/
        webEnvironment = SpringBootTest.WebEnvironment.NONE
)

或者直接在类上面加一个@SpringBootTest注解就行了。默认知道到主类方法。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐