在VS2010中使用MStest对.NET 3.5项目进行单元测试

时间:2009-11-05 09:38:34

标签: unit-testing visual-studio-2010 .net-3.5 mstest

Visual Studio 2010中存在一个错误/功能,您无法使用2.0 CLR创建单元测试项目。

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=483891&wa=wsignin1.0

当测试的项目针对的是2.0 CLR(在这种情况下,ASP.NET MVC 2位于.Net 3.5 SP1之上)时,这会导致各种问题 - 在调试时崩溃,测试意外失败,在一种情况下测试因为依赖于System.Web 2.0.0.0而无法在目标4.0的项目中使用,所以甚至无法构建项目。

无法将测试项目更改为以3.5框架为目标。

有没有人知道解决方法?

我知道但希望避免的变通办法,包括: -

1)将整个解决方案升级到目标.NET 4 我想在Azure上托管,目前尚不清楚是否/何时会添加对.NET 4.0的支持。见.NET 4.0 on Windows Azure?

2)将整个项目回滚到Visual Studio 2008
这是最后的手段,因为2010年有很多我真正想要使用的功能

3)在2008年建立单元测试并手动管理参考文件 这将有效,但这将是一个巨大的痛苦。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您尚未建议更改为其他测试框架。就个人而言,我使用NUnit并且已经多年了。它比2008年的东西要复杂得多。我没有时间看到2010年发生了什么变化,但我看不到MS很快就赶上了。

答案 1 :(得分:3)

一旦发布,它看起来就像Visual Studio 2010 Service Pack 1 will resolve this(参见“更好的平台支持| .NET 3.5上的单元测试”标题)

您现在可以获得带有Go-Live许可证的Beta版本......