【发布时间】:2015-05-28 12:51:48
【问题描述】:
在开发社区中,单元测试是必须具备的,这似乎是一个绝对真理,你应该不惜一切代价添加它(我知道它不是 100% 那样的)。 让我在这里扮演魔鬼的拥护者。
管理层希望引入单元测试,以期最大限度地减少每个开发周期中的回归开发错误。
这是一个 MVC Web 应用程序,具有良好的解耦水平,但具有大量不易测试的 .js 代码、存储过程等。很多时候,由于错误的实现或合并错误而发生回归错误。
所以我不是在问如何将单元测试添加到现有代码中,底部链接中有很多回答。 我最初的计划是构建具有许多场景的集成测试,这将涵盖“整个”应用程序。它似乎比 5000 多个单元测试更有价值。 然后我们可以尝试添加单元测试,如果确实如此,我们可以看到它的好处。
此外,单元测试的一些好处对我来说似乎很模糊,它允许您在不破坏应用程序的情况下替换框架,它允许您在不破坏应用程序的情况下重构代码。
现在,我问:
它是否有效地减少了回归错误?
您能否编写单元测试而无需大量重写应用程序?
你能保证重构代码不会产生代价高昂的新错误吗? (我知道这不是一个有效的问题)您如何向业务解释您破坏了应用程序重构?
代码历史呢?有时,对于审计而言,了解为什么引入了某些代码而重构会失去该价值是非常重要的,如果幸运的话,您只会发现它在源代码控制中浏览了很长时间。
我知道你读过这篇文章,而且我是那些不会改变意见的心胸狭窄的人之一,我保证我不会!
归根结底,我们需要的是稳定性,而不是避免少数重新打开的缺陷。我想找到最有效的开始途径。
最后但并非最不重要的是,我确实阅读了其他精彩的主题。
请分享你的想法。
谢谢
【问题讨论】:
标签: unit-testing integration-testing