2025年junit4教程(junit stub)

junit4教程(junit stub)一 背景 单元测试基本上是开发逃不过的一个工作内容 虽然往往因为过于无聊 或者过于麻烦 而停止于项目的迭代之中 不了了之了 其实不是开发们懒 而是上头要求的测试覆盖率高 但是又没有好用的工具 导致工作积压 最后只能舍弃掉这部分 最近发现 Spring junit mockito 很好用 特别是对于 DDD 架构的项目 可以针对特定的代码层做单元测试 贼好用 二 环境准备 1

大家好,我是讯享网,很高兴认识大家。



一,背景

单元测试基本上是开发逃不过的一个工作内容,虽然往往因为过于无聊,或者过于麻烦,而停止于项目的迭代之中,不了了之了。其实不是开发们懒,而是上头要求的测试覆盖率高,但是又没有好用的工具,导致工作积压,最后只能舍弃掉这部分。

最近发现Spring+junit+mockito很好用,特别是对于DDD架构的项目,可以针对特定的代码层做单元测试,贼好用。

二,环境准备

1,首先是在spring环境下,引入mockito和junit
 
  
讯享网
2,使用mockito

1,使用 @ExtendWith(MockitoExtension.class) 注解让 junit 使用 Mockito 环境启动单元测试,这样 @MockInjectMocks 注解才会生效。

2,使用 @Mock 注解来 mock 一个对象,方便后续控制这个对象的行为。

3,使用 @InjectMocks 注解来标注一个对象(注意,对象的类型是具体的实现类,而不是接口),junit 会自动将标有 @Mock 注解的对象按需注入其中。

讯享网
3,覆盖率检测
 

三,实战

1,新建测试类

idea中在类里ctrl+shift+T

Spring单元测试+Mockito
讯享网

Spring单元测试+Mockito

注意:只有public方法才能生成单元测试方法,也只有public方法才需要单元测试。

2,添加注解和注入业务类里依赖的Bean

原业务类:

Spring单元测试+Mockito

单元测试类:

将原业务类依赖的mapper注入到单元测试类。 将自己的实现类也注入到单元测试类。 下面的例子中还把BeanUtil这个静态的工具类先mock了,因为后面会用到,各种工具类都可以这样来mock。

Spring单元测试+Mockito

3,根据原业务类方法里的逻辑写单元测试用例

Spring单元测试+Mockito

4,redis等中间件都可以mock

Spring单元测试+Mockito

5,捕获自定义异常

Spring单元测试+Mockito

四,补充

讯享网


小讯
上一篇 2025-05-12 23:43
下一篇 2025-06-07 13:03

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/166479.html