java测试用例的编写
做java开发不久,只是开发一些简单的需求,测试基本使用postman调用,然后交给测试人员。后来有几次部署就出错,然后se说要搞测试用例,于是就轰轰烈烈的搞起来了,然后自己也明白了测试用例代码在开发中的重要性。
我们不能总是使用点点点来测试自己的程序,一个功能要可用,就要经过充分的测试。不能等上线完了,用户提出来,我们才发现bug,再去修补。比如你一个接口,首先要测试这个接口能不能调通,然后看一些特殊情况,也就是程序的边界问题,最简单的比如求倒数1/n,其他正常情况没有问题,但是当n=0时,就会报错,就需要在这一步发现并处理。
写测试用例的本质上就是使用程序去调用我们的方法或者接口,判断和预期是否相同。
如果纯手写测试用例,代码量还是挺多的,如果每个服务都要手写,就更多了。我们在做leetcode,newcoder等的时候,提交后就是机器执行测试用例的过程。可以猜想,它不可能针对每一题都写一个测试用例代码,而是复用。也就是准备一堆输入输出,然后使用模板方法去调用我们的代码,具体伪码可表示为:
boolean test(ins,func,outs){ for i in (0, ints.length) { out = func(ins[i]); if !outs[i].equals(out){ print("error:",out); return false; } return true; }
这就是大名鼎鼎的Junit框架的最基本原理。该例只是测试一个独立函数。
如果这个函数还需要获取其他对象呢?那就得模拟函数的生存环境了。在springboot的框架中,就需要有spring对象容器,SpringbootTest就粉末登场了!其使用很简单,两个注解就完事了。
@RunWith(SpringRunner.class) @SpringBootTest(classes = SaasAbaBaseApp.class) public class MybatisPulsTest {
@Test public test(){ 测试业务 } }
这样我们简单地完成了我们的测试用例,提高了代码的可靠性。
日进有功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义