将单元测试项目添加到ASP.Net MVC 4项目中

时间:2012-06-08 00:44:17

标签: mstest asp.net-mvc-4

就像this guy一样,我在第一次创建时没有为我的MVC 4项目创建单元测试项目。现在我想回去添加一个。

为此,我创建了一个新的单元测试项目。

现在,我右键单击其中一个控制器中的私有方法,选择Create Unit Tests,然后弹出一个弹出对话框断言:

  

单元测试生成错误:读取模块时遇到以下错误   'My.Project':无法解析类型引用:[System.Web.Mvc,Version 3.0.0.0,   Culture = neutral,PublicKeyToken = {为什么MS不支持cut和   粘贴??}] System.Web.Mvc.AllowAnonymousAttribute。

AllowAnonymousAttribute是MVC 4的新手。为什么单元测试生成器会尝试解决MVC 3程序集?

My.Project编译并运行得很好,AllowAnonymousAttribute和所有,显然是令人敬畏的System.Web.Mvc,版本4.0.0.0。

更新

MyMvc.csproj包含

<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetMvc.4.0.20126.16343\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>

HintPath上的DLL被确认为版本4.0.0.0

MyMvc.Test.csproj包含

<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />

2 个答案:

答案 0 :(得分:2)

这不再是VS2012中的问题。

VS2012不再支持添加单元测试向导。手动添加单元测试工作正常。

答案 1 :(得分:-1)

下载Resharper(有30天免费试用)并按alt + enter。它会自动添加所需内容。