如何测试ASP.NET代码隐藏

时间:2011-10-07 00:20:31

标签: asp.net nunit code-behind functional-testing

我们正在重写遗留代码,但目前我想知道如何测试代码隐藏方法。

详情:

  1. 没有使用aspx控件。
  2. 事实上,代码隐藏读取html文件,填充数据库中的数据并将最终html写入响应。
  3. 我理解代码隐藏方法是可测试的,但是如何?有工具吗?你能提供一些参考吗?感谢。

2 个答案:

答案 0 :(得分:1)

Bacisally code-behind不应该包含任何重要的逻辑。后面的代码应该知道UI控件的初始化,通过处理事件来更新UI等等。

我建议将功能单元提取到单独的类中,然后自己测试这些类。在你的情况下,我看到至少两个独立和抽象的功能单元:

  1. 数据访问层
  2. HTML Writer
  3. 如果您正在寻找测试UI行为,您可以使用WatiN之类的特定框架:

      

    Watir的发展启发了WatiN于2005年12月开始   为.Net做类似的Web应用程序测试   语言。从那时起,WatiN已经发展成为一个易于使用的功能   丰富而稳定的框架。 WatiN是用C#开发的,旨在实现   您可以通过Internet Explorer轻松自动化测试   FireFox使用.Net

    编辑:回复评论

    • 通常,数据访问助手和服务位于一个单独的程序集中,并通过接口进行抽象,因此很容易被替换和测试
    • 我喜欢每个项目都有自己独立的测试项目的方法,基本上如果你坚持使用单独的项目DataAccessLayer - 所有相关的测试都可以放在单独的DataAccessLayer.Tests项目中

答案 1 :(得分:0)

我认为你应该看一下ASP.NET Web Forms的MVP(Model-View-Presenter)模式。我也正在重写一个没有使用MVP的网站。

以下是一些链接:

我希望这会对你有所帮助。另外,如果你有机会阅读Dino Esposito的Programming Microsoft ASP.NET 4,你会发现一个很好的章节,详细解释了MVP。