C# 对ASP.NET 2.0网页进行单元测试的最佳方法是什么?

C# 对ASP.NET 2.0网页进行单元测试的最佳方法是什么?,c#,asp.net,visual-studio,unit-testing,C#,Asp.net,Visual Studio,Unit Testing,有什么建议吗?在C#中使用visual studio 是否有任何具体的工具或方法来实现这一点 更新: 对不起,我应该说得更具体一点。我正在使用ASP.NET2.0,并且正在寻找更多类似JUnitforJava的工具。我看了NUnit和NUnitAsp,这看起来很有希望。我甚至不知道Visual Studio Pro有一个测试套件,所以我会看看所有这些选项(今年夏天我才开始使用Visual Studio/Asp.net/C)。男孩,这是一个相当普遍的问题。我会尽我最大的努力,但要准备好让我错过一英

有什么建议吗?在C#中使用visual studio

是否有任何具体的工具或方法来实现这一点

更新:
对不起,我应该说得更具体一点。我正在使用ASP.NET2.0,并且正在寻找更多类似JUnitforJava的工具。我看了NUnit和NUnitAsp,这看起来很有希望。我甚至不知道Visual Studio Pro有一个测试套件,所以我会看看所有这些选项(今年夏天我才开始使用Visual Studio/Asp.net/C)。

男孩,这是一个相当普遍的问题。我会尽我最大的努力,但要准备好让我错过一英里

假设

  • 您使用的是ASP.NET,而不是普通的ASP.NET
  • 您并不是真的想测试您的web页面,而是测试它们背后的逻辑。对实际的.ASPX页面进行单元测试是相当痛苦的,但是有一些框架可以做到这一点。这是一个
  • 首先要做的是组织(或计划)您的代码,以便对其进行测试。当时最流行的两种设计模式似乎是MVP和MVC。两者都将应用程序的逻辑视图分开,这样您就可以在视图(网页)不妨碍您的情况下测试逻辑

    MVP或MVC都将有效。MVC有一个微软框架的优势

    一旦选择了鼓励可测试性的框架模式,就需要使用单元测试工具。这是一个很好的起点。VisualStudio Professional有一个应用程序,但NUnit+也可以在IDE中使用


    这是一种信息的散弹枪爆炸。我希望有一些,如果它击中。实用书架上有一个.

    大约一年前,在多态播客上有一个屏幕广播系列,它非常好地介绍了ASP.NET中的MVP实现。通过这种方式实现,单元测试更自然地就位

    这是你的出路。 您可以在此处找到一些链接:


  • 看一看,它提供了一种很好的自动化方法来构建与浏览器挂钩的单元测试。有一个很好的firefox插件用于记录测试,可以利用几乎任何单元测试框架。我们在上个月的本地用户组会议上做了一个演示/演示,看起来棒极了。

    是我发现的最好的。它集成到VisualStudio单元测试或nunit中&您可以在浏览器中执行几乎任何您需要的操作(单击链接、提交表单、查找文本/图像等),而且它是用.net编写的,因此您无需安装ruby(与watir一样,watir是一个非常棒的工具)

    这些框架对于集成测试很有用,但它们不能提供单元测试,也就是说,测试与持久性、业务逻辑等隔离的视图


    对于Asp.NETWebForms以及MVC的单元测试,您可以使用。例如,您可以模拟数据库访问,并验证模拟记录是否显示在datagrid中。或者,您可以模拟成员资格提供商并测试登录场景,而无需导航到登录页面并输入凭据,就像集成测试一样。

    您最好的选择是将模型逻辑与表示分离,并使用NUnit或类似工具对模型进行彻底的单元测试。测试用户与web页面的交互可以非常灵活


    如果你真的想对用户与网页的交互进行单元测试,那么像waitn这样的一些受欢迎的工具看起来不错,我听说的是visualstudio2008附带了MSTest,它允许非常无缝的单元测试功能。同样关于ASP.NETMVC,当您创建一个新项目时,VisualStudio也会要求您为它构建一个测试项目。我以前使用过MVP和一些MVC,这使测试变得更加容易。NUnitAsp不再受支持:编写它的人提出了一个正确的观点,即“有知识的人正在使用表示层使ASP.NET变得如此精简,以至于像NUnitAsp这样的工具没有帮助。”考虑到从xUnit.NET选择单元测试框架[、NUnit和MSTest,我会选择xUnit.net,由微软codeplex.com经理吉姆·纽柯克与布拉德·威尔逊共同编写。JN也被列为NUnit 2.0的创建者。至少对我来说,当微软的高级员工如JN和BW选择忽略MSTest和NUnit时,它说明了一些事情。同样,ASP.net MVC也是为可测试性而构建的,请参见Rob Connery的文章另外,我花了四个月的时间评估了xUnit.net和MSTest。我非常同意。我已经使用了Watir很长一段时间了,但有时我对ruby框架有问题。使用WatiN更好。我不必安装ruby,也可以获得intellisense。WatiN很棒,它是一个集成测试工具。单元测试!=Integ定量测试。是的,我假设这就是他们的意思,在他们澄清问题之前我回答了。我的手指也经常犯这样的错误:它是“WatiN”,发音为“what in”,表示“Web应用程序测试在.NET中”[。有一个有用的相关工具叫做“WatiN测试记录器”[。或者请参阅