C# 将TDD与MVC3结合使用的好库

C# 将TDD与MVC3结合使用的好库,c#,asp.net-mvc-3,tdd,nunit,C#,Asp.net Mvc 3,Tdd,Nunit,在工作中建立一个新网站,我正在尝试学习一些TDD,这样它就可以从一开始就在新网站上实现(旧网站是纯asp页面,零测试)。然而,由于我是TDD的新手,我不知道应该使用哪些好的库。我在设计测试时遇到了一些问题。。。例如,我的一个控制器使用了Server.MapPath(),因此当前出现故障。试图找到一个构建良好的可靠库。我在谷歌上搜索了一两个选项,但不知道已经在使用TDD的人在使用什么。既然我(想)学这个,我就假设我是通过别人成功使用的图书馆学的 编辑:很抱歉,我目前正在使用NUnit进行中的测试,

在工作中建立一个新网站,我正在尝试学习一些TDD,这样它就可以从一开始就在新网站上实现(旧网站是纯asp页面,零测试)。然而,由于我是TDD的新手,我不知道应该使用哪些好的库。我在设计测试时遇到了一些问题。。。例如,我的一个控制器使用了
Server.MapPath()
,因此当前出现故障。试图找到一个构建良好的可靠库。我在谷歌上搜索了一两个选项,但不知道已经在使用TDD的人在使用什么。既然我(想)学这个,我就假设我是通过别人成功使用的图书馆学的

编辑:很抱歉,我目前正在使用NUnit进行中的测试,但我对其他库开放

进行自动测试,/进行模拟/存根,进行持续集成。我个人更喜欢最低起订量,但你应该尝试一下这两种方法


为了处理ASP.NET,NUnit有一些扩展。例如,一个。关于NUnit和web应用程序已经有一个问题了

您可能会发现这个“使用SpecFlow和WatiN的行为驱动开发”很有趣。

NUnit with NUnit.Snippets Nuget包


为了创建可测试的应用程序,您必须在整个代码库中使用依赖项注入,或者使用一些其他模式,以便能够在测试期间更改实现(例如您提到的使用Server.MapPath的实现)。要使用DI,您需要DI容器和自定义控制器工厂。

谢谢我搜索了nunit+mappath,这是我在atm上遇到的具体问题,但这主要是因为目前还没有进入开发阶段。在这种情况下,您可能想看看NUnitASP和Cassini