tdd - 如何处理那些破坏 TDD 的人?

标签 tdd

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




就我个人而言,我真的更喜欢单元测试并编写它们以获得“良好”的覆盖范围。 (假设我尽可能努力地编写好的测试;)

像往常一样,一段时间后,不同的人需要向代码添加一些功能(向类添加方法等)。他没有破坏那些编写的单元测试,但拒绝编写额外的(这将涵盖他编写的代码的那些附加功能)。
这会导致 tdd 过程中出现一个大漏洞(更糟糕的是可能会出现破窗效应)

我能做些什么让他写那些测试?
你怎么对付那些人?

最佳答案

请记住,TDD 的主要目的不是生成良好的单元测试覆盖率;是关于激励好设计第一,确保您编写的代码符合您的预期,第三,提供一系列高质量的测试。

当另一个程序员扩展一个类而不编写测试时,他们就错过了这些好处,你应该为他们感到遗憾。但是当您工作时,您将继续以您所知道的最佳方式工作(先测试),因为您知道这样您会得到对消费者来说很容易的解耦代码,并且您的代码可以满足您的期望。

对你来说最大的痛苦是你必须小心你重构的内容:如果你正在重构正在测试的代码,你可以快速进行,并且设计将快速安全地改进。如果您正在重构未经测试的代码,您应该非常谨慎地重构它(也许只使用可靠的自动化工具来这样做)或添加测试。

最后,您将继续从 TDD 的使用中受益,因为您可以更快地生成更清晰、正确的代码,而您的 TDD 受损同事将受到影响。

关于tdd - 如何处理那些破坏 TDD 的人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/537464/

相关文章:

ruby-on-rails - 在服务测试中剔除 ActiveRecord 模型

php - 有哪些框架/工具/技术可以帮助从 PHP 运行 javascript?

c# - 对 Viewmodel 进行单元测试

unit-testing - 谁应该编写测试?

testing - 如何在 webpack 中集成 karma

tdd - 在应用 TDD 时,您使用什么启发式方法来选择接下来要编写的测试?

c# - TDD - 我做得对吗?

unit-testing - 集成测试/单元测试 : Doing too many integration tests?

ruby-on-rails - 如果我已经有一个没有任何测试的大型代码库,如何开始编写测试?

git - 如何设计一个 git 存储库架构,以便在所有分支上进行统一测试?