我有一个现有的asp.net web表单应用程序,我想一些单元测试添加到,但我不确定究竟是如何去做。
该应用程序与数据库驱动的功能,我想你可以比较先进的论坛。 逻辑,数据访问和演讲都分隔大部分。
什么方法我应该测试?
如何处理数据库和测试数据?
是否有建议,以协助这个任何工具?
我有一个现有的asp.net web表单应用程序,我想一些单元测试添加到,但我不确定究竟是如何去做。
该应用程序与数据库驱动的功能,我想你可以比较先进的论坛。 逻辑,数据访问和演讲都分隔大部分。
什么方法我应该测试?
如何处理数据库和测试数据?
是否有建议,以协助这个任何工具?
你需要决定的第一件事是: 什么是你添加单元测试动机是什么?
有对具有单元测试的许多优秀的原因(我严格地在实践TDD自己),但知道哪一个是你的情况的主要驱动力应该可以帮助你决定哪些测试先写。
在大多数情况下,你应该专注于编写单元测试您的应用程序已导致你过去最痛的地方。
许多经验表明,当软件最初是没有单元测试写的,它可能很难随后改造的单元测试。 修改代码的工作提供了关于如何使一个未经测试的软件项目可测试的有价值的指导。
我将最有可能测试的支持方法,你的Web窗体调用(绕过形式的检验),这将让你测试逻辑和数据访问。
至于测试数据,一个单独的测试数据库将是最好的选择。 否则,我建议有测试方法中移除测试数据一旦其完成。
对于数据库相关的单元测试,我们使用一个单独的和稳定的测试数据库来对执行单元测试。
我们还包裹在一个数据修改测试TransactionScope
未COMMITED,为此回滚后续测试运行数据的变化。 我们发现这个作品真的很好。
在加工方面,我也是在寻找一些方式来测试ASP.NET Web表单应用程序。 对于模型的部分(数据访问等),我使用NUnit,一个本地的SQL Express数据库,并编写代码所有的测试运行之前创建模式(从.sql文件,我们检查)。
测试期间,我使用NUnit的DataRollback扩展回滚每次运行后的任何分贝的变化。
我还是不知道的测试中,虽然页面的逻辑,类似于Rails的功能测试的好方法。 从覆盖的角度来看,这是毁灭性的。 你可以把大量的逻辑回你的模型,但总是存在的文件背后的代码的代码是很重要的,可以打破的,你想获得单元测试。