重构-构筑测试体系

4.1 自测试代码的价值

    编写代码其实只占非常小的一部分。有些时间用来决定下一步干什么,另外一些时间花在设计上,最多的时间则是用来调试。

    类应该包含它们自己的测试代码。

    确保所有测试都完全自动化,让它们检查自己的测试结果。

    一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需要的时间。

    编写测试代码其实就是在问自己:添加这个功能需要做些什么。编写测试代码还能使你把注意力集中于接口而非实现。

    预先写好的测试代码也为你的工作安上一个明确的结束标志:一旦测试代码正常运行,工作就可以结束了。

 

4.2 Junit 测试框架

    频繁地运行测试,每次编译请把测试也考虑进去-每天至少执行每个测试一次。

    单元测试和功能测试。

    当你收到bug报告,请先写一个单元测试来暴露bug。

 

4.3 添加更多测试

     编写未至完善的测试并实际运行,好过对完美测试的无尽等待。

    考虑可能出错的边界条件,把测试火力集中在那儿。

    当事情被认为应该会出错时,别忘了检查是否抛出了预期的异常。

    不要因为测试无法捕捉所有bug就不写测试,因为测试的确可以捕捉大多数bug。

 

参考资料:

    《重构-改善既有代码的设计》

 

posted @   diameter  阅读(197)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示