Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NET的单元测试框架,比较?_C#_Asp.net_Unit Testing - Fatal编程技术网

C# NET的单元测试框架,比较?

C# NET的单元测试框架,比较?,c#,asp.net,unit-testing,C#,Asp.net,Unit Testing,我使用了一点MS VS2008集成单元测试框架来编写单元测试,但没有那么广泛,没有任何建议哪种框架最适合使用ASP.NET开发的基于web的应用程序 我使用VS集成框架和MVP模式。vs的web测试对我来说很好。只要您有一些分离的关注点,例如您的asp.net代码是可测试的,几乎任何框架都可以为您工作。这里有一个比较矩阵: 可能有点许尼特偏见。在亚音速项目中使用xunit之后,我真的很喜欢它。您可以使用testdriven.net实现visual studio的紧密集成 如果您希望进行功能测试

我使用了一点MS VS2008集成单元测试框架来编写单元测试,但没有那么广泛,没有任何建议哪种框架最适合使用ASP.NET开发的基于web的应用程序

我使用VS集成框架和MVP模式。vs的web测试对我来说很好。

只要您有一些分离的关注点,例如您的asp.net代码是可测试的,几乎任何框架都可以为您工作。这里有一个比较矩阵:

可能有点许尼特偏见。在亚音速项目中使用xunit之后,我真的很喜欢它。您可以使用testdriven.net实现visual studio的紧密集成


如果您希望进行功能测试,那么请查看

对于web测试,我使用Selenium,对于测试“后端”,我将使用nUnit/MbUnit。Selenium允许您通过浏览器插件记录脚本,或者将测试创建为一组方法,这与标准nUnit单元测试非常相似,具有一些驱动Selenium的特定语法


-教程和下载

MS的单元测试框架离NUnit 2.2的直接副本不远了——仅限于语义差异。NUnit可能从那以后得到了更多的支持,所以我会给它一点优势。但是只有一个小的。

我用Telerik的新WebUITest studio玩过,它在UI测试中看起来确实很流畅。然而,它是非常昂贵的,硒是相当有吸引力的免费。如果您在一个大型组织中,有一个独立的QA小组在进行测试,那么我会查看Telerik。否则,硒


顺便说一句:我必须支持Stimms的观点,即对应用程序单元测试的关注点进行适当的分离-这会产生很大的不同。

您的问题需要更多的上下文。你到底想测试什么。是否要通过模拟网页上的单击来执行端到端测试?您使用什么模式来构建asp.net页面?实际上它是一个三层架构,我一直在使用VS2008集成单元测试框架分别测试业务层和数据访问层,现在,我想从功能角度测试前端,这样每当我更改某些内容时,我都可以重新验证它。您是否使用MVP(Model View Presenter)?没有使用特定模式,它是使用.NET 2.0开发的旧应用程序,带有C#代码隐藏文件。它不是我开发的,但我需要维护它:)那么,您是单独测试业务逻辑,还是单独测试前端,还是只测试ASP.NET页面,从而验证业务和数据逻辑的正确性?嗯,UI逻辑是使用mvp模式测试的。对于负载测试,我也使用web测试。我对用于业务和数据逻辑的MS VS2008集成单元测试环境非常满意,我没有与nUnit合作过,因此不确定它与VS的集成。Selenium对我来说也是一个新工具,以前从未听说过,所以我将尝试一下,看看它是否能帮助我进行前端测试。。谢谢如果您对MS测试环境感到满意,nUnit框架非常相似,一些Attibute的名称稍有不同,等等。您需要引用nUnit dll并使用nUnit.framework命名空间