【问题标题】:Unit Testing .NET 3.5 projects using MStest in VS2010在 VS2010 中使用 MStest 对 .NET 3.5 项目进行单元测试
【发布时间】:2010-12-13 08:36:08
【问题描述】:

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

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

当正在测试的项目针对 2.0 CLR(在这种情况下是 .Net 3.5 SP1 之上的 ASP.NET MVC 2)时,这会导致各种问题 - 调试时崩溃,测试意外失败,在一种情况下测试由于对 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 年构建单元测试并手动管理参考
这会奏效,但会非常痛苦。

有什么想法吗?

【问题讨论】:

  • VS2010 仍然是 BETA - 我希望你只是在玩功能 - 而不是在那里构建一个真正的生产项目。只是一个建议......
  • 这是一个玩具项目,因此与技术有关。但是,一旦 Azure 正确发布,我正在考虑将其转变为生产应用程序。
  • 在这种情况下,我的答案是 1,试图从 MS 人员那里得到一份关于 Azure 符合 .NET 4.0 的说明,知道他们通常是如何工作的,如果它不在这里,它很快就会在这里。

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


【解决方案1】:

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

您现在可以通过 Go-Live 许可证获取 Beta 版本...

【讨论】:

【解决方案2】:

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

【讨论】:

  • 我目前正在避免使用 NUnit,因为我更看重 mstest 的 VS 集成而不是 NUnit 的附加功能(而且我当前的环境中没有 R#)。另外,我已经有了 mstest 测试项目;我需要移植它们。
猜你喜欢
  • 2011-02-22
  • 1970-01-01
  • 2012-05-21
  • 1970-01-01
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
相关资源
最近更新 更多