unit-testing - 向遗留代码添加单元测试

标签 unit-testing legacy-code

您是否曾经在事后向遗留代码中添加过单元测试?代码有多复杂? stub 和模拟所有内容有多困难?最终结果值得吗?

最佳答案

我发现,最好的方法是逐步添加单元测试,而不是直接跳进去并说我们现在将对应用程序进行单元测试。

因此,如果您要接触代码、进行错误修复或重构,请首先编写单元测试。对于错误,单元测试将有助于证明问题出在哪里,因为您可以复制它。

如果重构,你会想要编写单元测试,但是你可能会发现测试是不可能编写的,所以你可能需要找到一个高层,调用将要重构的函数,并对那部分进行单元测试。然后,当您重构攻击性功能时,编写测试,以便确保它按预期运行。

没有简单的方法可以做到这一点。

这个问题可能有助于提供更多建议。 How do you introduce unit testing into a large, legacy (C/C++) codebase?

关于unit-testing - 向遗留代码添加单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541568/

相关文章:

c# - 使用依赖注入(inject)将字典保存在应用程序中的位置

sql - MySQL模式通过触发器进行模式同步?

c# - 在测试失败时运行附加清理功能(当断言失败时)

c# - 如何对 Request.Form [""] 进行单元测试?

c# - 模拟 Entity Framework 给我对象引用未设置为对象的实例

java - 对于具有分支逻辑的类似对象,什么是好的 Java 设计模式

asp.net-mvc-3 - 将旧版 Webforms 应用程序迁移到 asp.net mvc?

unit-testing - unitTest中如何使用EasyMock

unit-testing - 仅为 _test.go 文件定义结构

php - 在 PHP 中,如何将过程代码包装在类中?