如何为遗留代码创建单元测试

How to create unit tests for legacy code

我继承了一个 ASP.Net c# 应用程序,我现在必须对其进行维护;该应用程序是不久前开发的,尽管代码可以工作,但它们都混合在一起(各种 类 中的业务逻辑和 MySQL 数据访问代码),并且没有进行单元测试。此外,很多业务逻辑都在网络表单中。

显然这种情况很难维护和改进,所以我开始尝试重构代码。我想在测试下做这个,所以我必须开始在 VS2010 下开发一些单元测试。我想知道最好是开始分离代码然后编写测试还是先编写测试。我真的不知道从哪里开始,所以如果您能就此问题提供任何建议,我们将不胜感激。

查看 MVP 设计模式。您还可以使用存储库模式来创建可测试代码。我建议使用 Moq 来模拟您的界面。网络上有资源,但不幸的是,我不能在不写整篇文章的情况下进行更详细的介绍。