我是否应该对已建立的代码进行单元测试?

时间:2012-11-22 17:42:28

标签: c# unit-testing

对于C#中的单元测试,我从实现新功能或提出新解决方案的想法中看出了这一点,从那时开始进行单元测试更好。

但是,如果已经建立了一个完全成熟的解决方案,很少或没有创建单元测试,那么当已经有足够的异常处理时,测试的重点是什么?

我正在编写单元测试,但未能看到我无法通过格式错误的数据随时进入任何测试,因为我主要使用ENUM!

除非我遗漏了一些绝对疯狂的东西..我是否浪费时间回到旧代码来整合单元测试?

2 个答案:

答案 0 :(得分:3)

当您现在或将来开始使用现有代码时,编写单元测试很有帮助。测试可以帮助您确保不会引入任何新错误或不情愿地改变某些行为。

此外,编写现有代码的测试可以帮助确定可能未知或复杂实现的实际功能。

在不太可能的情况下,开发人员永远不会触及无错误的软件,添加单元测试可能对你没什么帮助。但在任何其他情况下,它都有助于记录行为并为未来建立安全网。

哦,既然你提到它:使用enums将无法保护你免于在C#中传递无效参数。

答案 1 :(得分:1)

不,您不会通过编写现有代码的测试来浪费时间。如果您以任何方式维护代码,那么进行单元测试是个好主意。

您的主要挑战将是工作范围 - 为大量代码编写单元测试并不容易,当然也不是很有趣。我强烈建议你采取迭代的方法。在第一轮中,关注提供良好类覆盖的单元测试可能是一个好主意,这是一个基本指标,也是一个很好的起点。

在达到您认为有意义的课程覆盖范围之后,您可以通过代码覆盖将重点扩展到其他领域。

使用像NCover这样的覆盖工具真的有助于在这里提供一些指标。