2010-03-29 29 views
2

使用现有的使用ASP.net WebForms的n层Web应用程序,获得应用程序TDD接受的最佳方法是什么?什么是一个很好的计划,以获得开发人员的认可,以便在TDD实施陷入困境的同时,开始编写测试代码,而不是忽略测试?将TDD复制应用于ASP.Net webforms

了解将会有一个低覆盖率的大“in-limbo”时间: 您开始为第一个测试编写测试模型的哪些区域?关键使用领域,还是新的发展?

+5

Tdd是从一开始就“融入”整体设计的东西。追溯TDD是艰难的。 – Pierreten 2010-03-29 16:59:01

+0

http://stackoverflow.com/questions/342693/unit-testing-legacy-asp-net-webforms-legacy-applications可能的副本 – 2010-03-30 20:50:57

+0

@Pierreten - 我会尽可能地说“retroactive tdd”是不可能作为“追溯体外概念”。我认为真正被问到的是如何获得现有代码的单元测试覆盖率以及如何将开发过程改为TDD。 – JeffH 2010-04-14 19:14:58

回答

2

我同意womp,单元测试和WebForms很难。特别是如果你的大部分逻辑嵌入在文件后面的代码中。

我发现它首先使用硒等功能创建功能测试很有帮助。随着一些体面的功能测试覆盖面,我可以开始重构,并随时添加单元测试。

+0

我同意。在这种情况下改进单元测试非常困难。然而,使用Selenium,W​​atiN或者VS2010的新测试工具来加强验收测试非常简单。 – 2010-04-13 13:14:46

2

ASP.Net webforms由于内建在静态HttpApplication和HttpContext对象上的依赖性以及Page生命周期的抽象抽象性,因此非常难以构建单元测试。这就是说,开始为新代码编写测试,而不是花时间回顾并覆盖旧代码总是容易得多。旧代码将需要重新构建,以便进行适当的测试。