当前位置: 首页 > news >正文

如何建立单元测试

快速开始

zixun-quickstart-mk3生成的项目已经配置好了基础的BaseTest,各个测试类只需要继承BaseTest就可以开始进行单元测试的编写了。

如何进行Mock

为了保证独立性和可重复执行,所有的外部依赖都需要进行Mock,SpringTest引入了Mockito作为单测Mock组件, Mickito官方文档:https://site.mockito.org/#how。

下面介绍如何在测试用例中对Feign进行Mock,以供参考。

待测代码及依赖:

public interface TestService {/*** 获取用户信息* @param uid*/String getUserInfo(Integer uid);
}@Slf4j
@Service
public class TestServiceImpl implements TestService {@Setter@Autowiredprivate UserFeign userFeign;/*** 获取用户信息** @param uid*/@Overridepublic String getUserInfo(Integer uid) {String userInfo =  userFeign.getUserInfo(uid);log.info("Userinfo of {}: {}", uid, userInfo);if (StringUtils.isEmpty(userInfo)){throw new IllegalArgumentException("用户不存在");}return userInfo;}
}@FeignClient(name = "user", url = "127.0.0.1:8888")
public interface UserFeign {@GetMapping(value = "/user")String getUserInfo(@RequestParam("userId") Integer userId);
}

测试用例1:

public class TestServiceTests extends BaseTest {// @InjectMocks会将生效的Mock注入到标记类中,注意这里必须是实现类,不能是接口@InjectMocksprivate TestServiceImpl testService;// 定义Mock类
http://www.lryc.cn/news/129840.html

相关文章:

  • typeScript 接口和类
  • 这项与越来越多企业有关的行业标准,网易云信深度参与制定!
  • C语言,malloc使用规范
  • 广度优先遍历与最短路径(Java 实例代码源码包下载)
  • 南大通用数据库(Gbase 8s) 创建UDR外部函数
  • 步入React正殿 - State进阶
  • 【QT+ffmpeg】QT+ffmpeg 环境搭建
  • 责任链模式解决多个ifelse问题
  • Lnton羚通关于PyTorch的保存和加载模型基础知识
  • python+django+mysql项目实践四(信息修改+用户登陆)
  • sCrypt编程马拉松于8月13日在复旦大学成功举办
  • Selenium手动和自动两种方式启动Chrome驱动
  • 《PostgreSQL 开发指南》第32篇 物化视图
  • 【RocketMQ】快速入门
  • AB跳转轮询:让你的独立站收款智能化
  • 所有用户都能使用sudo吗
  • 【广州华锐视点】VR警务教育实训系统模拟真实场景进行实践训练
  • 【深入浅出C#】章节 7: 文件和输入输出操作:处理文本和二进制数据
  • Matlab中图例的位置(图例放在图的上方、下方、左方、右方、图外面)等
  • 【算法学习】两数之和II - 输入有序数组
  • 聚观早报|京东称在技术投入没有止境;木蚁机器人完成B2轮融资
  • C语言:选择+编程(每日一练)
  • 信道数据传输速率、码元传输速率、调制速度,信号传播速度之间的关系
  • docker的使用方法总结
  • 【C#】条码管理操作手册
  • RabbitMq-发布确认高级(避坑指南版)
  • Blender增强现实3D模型制作指南【AR】
  • Java查看https证书过期时间(JKS,CERT)
  • 关于vue,记录一次修饰符.stop和.once的使用,以及猜想。
  • 解决git reset --soft HEAD^撤销commit时报错