当前位置:  开发笔记 > 编程语言 > 正文

红色,绿色,重构:每个测试用例后重构,还是整个测试套件充实?

如何解决《红色,绿色,重构:每个测试用例后重构,还是整个测试套件充实?》经验,为你挑选了1个好方法。

TDD中红色,绿色,重构(RGR)工作流程的写入表明,如果需要,可以通过编写"有罪"代码来快速获得绿色(Kent Beck在TDD中通过示例说"快速绿色为所有罪行辩解"),然后重构改善设计.我不清楚什么时候做最好的重构步骤.

假设我正在制作BookByIsbn REST服务.我可以按以下顺序生成测试用例(仅供讨论)

"produces 404 (not found) if book does not exist"
"produces 400 (bad request) if isbn is invalid"
"returns 200 and entity if book found"
etc

RGR的字面解释似乎表明我在快速得到每个测试用例绿色后重构.但这可能会导致多次重构到下一个测试用例无效的设计.我觉得延迟重构步骤直到完整的测试套件是绿色的,当我完全了解服务必须做的所有事情时,是一种更有效的方式来执行TDD.

所以,问题是:RGR是否最好通过训练自己在每一个绿色之后进行重构,或者推迟步骤直到更多的要求表面更有效?



1> Jon Reid..:

重塑每一个绿色.

重构生产代码和测试代码.

这确实意味着有时设计是非常短暂的.但这意味着代码始终是您当时编码要求的最佳表达方式(测试,随着它们的增长).

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有