关于SpringBoot单元测试遇到的问题

欢迎大家关注我的公众号,添加我为好友!

使用SpringBoot进行一些单元测试,会遇到一些比较低级的错误,希望记录此文章以备日后学习和警醒。

1.首先检查是否加上了正确的注解。

@RunWith(SpringRunner.class)
@SpringBootTest

2.是否加入“@Test”注解在方法上。

3.如果引用了Dao层的依赖,需要看看Dao层是否被Spring扫描,也就是说,看看Mapper接口上是否加了注解。


@Mapper
public interface OrderDetailMapper {
    int deleteByPrimaryKey(String detailId);

    int insert(OrderDetail record);

    int insertSelective(OrderDetail record);

    OrderDetail selectByPrimaryKey(String detailId);

    int updateByPrimaryKeySelective(OrderDetail record);

    int updateByPrimaryKey(OrderDetail record);
}

欢迎大家关注我的公众号,添加我为好友!

Spring Boot 单元测试报错可能是由多种原因引起的,因为Spring Boot本身设计为简化测试环境,但如果遇到特定错误,可能需要深入排查。常见的错误包括找不到依赖、配置问题、测试代码本身的错误或者是Spring Boot版本兼容性问题。举几个可能的错误及解决方案: 1. **缺少依赖**:如你之前提到了 `NoClassDefFoundError`,可能是缺少了某个库的依赖,比如Spring Test或Junit。确保你的测试模块的pom.xml或build.gradle文件中包含了正确的测试框架依赖。 2. **资源路径问题**:如果测试需要访问类路径下的资源文件,可能由于资源定位失败而报错。检查是否有正确的`@Resource`或`@Autowired`注解以及是否设置了`@EnableAutoConfiguration(exclude = {...})`来排除不必要的组件加载。 3. **静态资源扫描**:某些情况下,如果你的测试代码依赖于静态资源,记得在测试上下文中启用静态资源扫描(`WebMvcTest` 或 `SpringBootTest` 中的`@WebAppConfiguration` 注解)。 4. **环境变量或配置问题**:如果测试涉及到环境相关的配置,确保测试环境中设置了正确的值或者使用了`@ContextConfiguration`和`@Environment`来模拟不同的配置。 5. **编码或异常处理**:检查你的测试代码是否存在未捕获的异常,或者错误的返回结果期望。确保所有预期的行为都被适当地处理。 6. **版本冲突**:确保使用的Spring Boot和相关框架版本之间没有冲突,特别是当升级或降级框架时可能会引发此类问题。 遇到具体的错误信息时,请提供详细日志以便更好地分析。如果你能提供错误堆栈跟踪或者具体的报错信息,我可以给出更精准的帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值