如何在大型项目中进行单元测试

Dav*_*Dev 4 c# asp.net-mvc unit-testing

我们有一个项目开始变大,我们需要在开始重构时开始应用单元测试.将单元测试应用于已存在的项目的最佳方法是什么?我(有点)习惯于从头开始这样做,在那里我将测试与第一行代码一起编写.当功能已经到位时,我不确定如何启动.我应该从存储库开始为每个方法编写测试吗?或者我应该从控制器开始?

更新: 澄清项目的大小..我不确定如何描述这个除了说有8个控制器和大约167个扩展名为.cs的文件,所有这些都在大约7个开发人员月完成.

Dav*_*sky 6

您似乎意识到,将测试改装到现有项目并不容易.您随时编写测试的方法是更好的方法.您的问题是流程和技术之一 - 每个人都必须要求测试,否则没有人会使用它们.

我听到并同意的建议是,您不应该尝试一次性围绕现有代码库进行测试.你永远不会完成.首先对您的错误修复过程进行测试 - 每个修复的错误都会得到一个测试.随着时间的推移,这将开始测试您现有的代码.当然,新代码必须始终有测试.最终,您将覆盖范围达到合理的百分比,但这需要时间.

我推荐给我的一本好书是Michael C. Feathers 有效地使用遗产代码.标题并没有真正证明它,但是对现有代码库进行测试是本书的一个主要主题.