怎么维护单元测试的代码?

2011-04-24 13:00:12 +08:00
 apoclast
开发过程中的那些单元测试,在每次重构后都变得惨不忍睹了。但是又没有多余的精力来一道重构这些代码。但这些代码的存在总是不断扰乱视线或者干脆造成无法编译。最糟糕的是:重构在不断的进行。
于是现在的对策就是要测的时候写,测完就删掉。我实在是厌倦这个过程了,大家有好的方法可以分享吗?
4526 次点击
所在节点    问与答
6 条回复
roamlog
2011-04-24 13:22:37 +08:00
重构的时候难道不是应该先重构测试代码吗,你这样的单元测试有什么意义?
chloerei
2011-04-24 14:10:05 +08:00
重构之前运行测试,确认当前版本可以通过测试

重构 -> 运行测试

测试失败,查看是重构出错还是测试过时,如重构出错则处理错误,测试过时则修改测试或删除过时测试

重复上面,运行测试 -> 测试通过

重构完毕

总结:代码库中的每个commit都是通过所有测试的
roamlog
2011-04-24 14:35:15 +08:00
ls 的讲的比我准确和详细
apoclast
2011-04-24 16:42:23 +08:00
在我编写库a给b使用并且重构a的时候,为了偷懒喜欢直接用b来测试a的代码,b对a的调用覆盖非常全面。而专门为a写的测试代码没有一道重构。这样是不是对软件质量伤害很大呢?
chloerei
2011-04-24 18:21:27 +08:00
奥,有人提醒我,重构的时候需要改变测试代码的话,说明已经做了重构以外的事情。要改变接口的话,先修改测试。
chloerei
2011-04-24 18:26:10 +08:00
@apoclast 我觉得还是需要有a的单独的测试。b应该没有对a的边界值做全面的调用,而只是代表通常情况。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/12046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX