Assert.assertEquals(result, "123");
3.8 验证异常对象
JUnit 的 @Test 注解提供了一个 expected 属性 , 可以指定一个期望的异常类型 , 用于捕获异常并验证其异常类型 。【注】:只能验证异常类型 , 不能验证异常信息 。
@Test(expected = BPLException.class)
4 单测举例下面是一个本地方法的单元测试用例 , 方法中调用了外部接口 , 并且其中包含了枚举值的使用 。
源方法即需要单测方法:
文章插图
首先 , 是单元测试时一些必要的初始化:
文章插图
4.1 单测场景一(确定接口调用 , 并返回值正确):
通过 verify 方法来确定接口是否调用过 , 并且只调用过 1 次 。
通过 assert 来确认返回值是否满足预期
文章插图
4.2 单测场景二(必要异常是否抛出):
通过在 @Test 注解上加入 expected 属性 , 测试当接口返回值为空时 , 是否可以抛出异常
文章插图
4 总结编写单元测试在开发中的地位举足轻重 。在开发过程中 , 避免不了优化或重构历史代码 。单元测试 , 在一定程度上可以帮助测试更新后逻辑 , 以及潜在调用链 。另外也分享一些链接 , 希望可以帮助大家完成从 0 到 1 的搭建 。
5 参考资料
- Java 编程技巧之单元测试用例编写流程:https://mp.weixin.qq.com/s/hX_RIYs-nBnqVwdq5B4rhg
- powerMock 的 Git 链接:https://Github.com/powermock/powermock
- powerMock 简介:https://www.baeldung.com/intro-to-powermock
- 避免 Install 的时候 Skip test: https://maven.Apache.org/plugins-archives/maven-surefire-plugin-2.12.4/examples/skipping-test.html
作者:京东物流 牟佳义
来源:京东云开发者社区 自猿其说 Tech 转载请注明来源
【Java 单元测试及常用语句】
推荐阅读
- 构建高效的Java网络应用,体验秒级响应
- 下一代Java微服务:从Spring Boot到Quarkus的迁移指南
- 深入解读Java中的网络通信协议,实现高效传输
- Java消息队列开发实战,打造高效异步处理
- 轻松掌握Java的设计模式,写出优雅的代码
- 利用Java的字节码操控
- 解除Java中的内存溢出问题,保障程序稳定性
- Java开发人员如何看待生成式AI的兴起?
- 解放双手!ChatGPT 助力编写 JAVA 框架!
- Java Socket通信与HTTP协议解析