1

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

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

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

单元测试生成错误:读取模块“My.Project”时遇到以下错误:无法解析类型引用:[System.Web.Mvc,版本 3.0.0.0,Culture=neutral,PublicKeyToken={why doesn't MS支持剪切和粘贴??}]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" />
4

2 回答 2

2

这在 VS2012 中不再是问题。

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

于 2012-08-20T07:49:58.543 回答
-1

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

于 2012-06-08T04:08:58.810 回答