gpt4 book ai didi

unit-testing - TDD:为什么是 'Red Green Refactor' 而不是 'Green Refactor' ?

转载 作者:行者123 更新时间:2023-12-04 05:25:28 27 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。




Improve this question




我从事专业软件开发 4 个月。在我的公司 GO-JEK,TDD 是不可协商的。
这是我的观察:人们倾向于首先编写代码,然后为其编写测试。 显然,这对于有 4-5 年软件开发经验且之前没有遵循 TDD 的人来说更方便。
那么,人们首先编写失败的测试,然后编写代码以通过它的原因是什么?为什么人们不先编写代码,然后为其添加测试?
我们可以通过任何一种方式进行重构

最佳答案

这是一个很好的问题。既然我们最终希望我们的测试通过,为什么不首先编写它们让它们通过呢?

答案是我们真的希望我们的测试能够插入开发。我们希望首先进行测试。因为当我们编写一个需要某些功能的测试时,这是对所需内容的具体表达,并且新的功能位已被很好地定义。最初该功能不存在(因此测试为红色);当我们成功添加功能后,测试为绿色。这是一个明确的决定:要么功能存在且测试通过 - 要么不存在且测试失败。

相反,如果我们编写绿色测试(功能已经存在),我们可能编写了比实际需要更多的功能。或者我们可能编写了错误的代码——功能存在但错误——以及相应的错误测试。当我们首先编写测试时,我们见证了代码库从缺乏必要功能的状态转变为拥有它——我们有相当程度的信心知道我们已经做对了。

关于unit-testing - TDD:为什么是 'Red Green Refactor' 而不是 'Green Refactor' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40073825/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com