就像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" />
答案 0 :(得分:2)
这不再是VS2012中的问题。
VS2012不再支持添加单元测试向导。手动添加单元测试工作正常。
答案 1 :(得分:-1)
下载Resharper(有30天免费试用)并按alt + enter。它会自动添加所需内容。