【问题标题】:visual studio unit test project missing assemblies (while using Moq)Visual Studio 单元测试项目缺少程序集(使用 Moq 时)
【发布时间】:2014-11-26 18:09:03
【问题描述】:

所以我有一个解决方案包含两个项目:Example.Api 和 Example.Api.Test。

Example.API 项目是我与数据库对话的 Web API 2 项目。

Example.API.Test 项目可以针对 Example.API 进行单元测试。

我正在使用 moq 来模拟上下文和控制器等等。

一个问题是我的 Example.API.Test 项目遗漏了很多 Example.API 项目使用的程序集。

测试项目引用了 Example.API 项目,但缺少所有系统程序集。

例如,“System.Web.Http.ApiController”类型是在未引用的程序集中定义的。您必须添加对程序集 'System.Web.Http ...

的引用

我可以添加对 Example.API.Test 项目的单独引用,但这似乎不是正确的方法。

有什么提示吗?

谢谢。

【问题讨论】:

  • 当然你也必须在你的测试项目中安装Microsoft.AspNet.WebApi.Core。使用 nuget nuget.org/packages/Microsoft.AspNet.WebApi.Core
  • 所以基本上我需要单独安装缺少的程序集对吗?好像在浪费空间:)
  • 很容易通过 Nuget Install-Package
  • 原来 webapicore 已安装。缺少的是“System.Web.Http”。当我现在手动添加引用时,它给出错误提示:Assembly 'Example.API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Http, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35',其版本高于引用的程序集 'System.Web.Http, Version=4.0.0.0, Culture=neutral,
  • 并且 nuget 不能帮助我更新这个特定的程序集。 :(

标签: .net api unit-testing visual-studio-2013


【解决方案1】:

听从别人的建议!安装包 Microsoft.AspNet.WebApi.Core 即使 nuget 说它有它。

:)

引用 Joseph 告诉我的“您可以通过管理软件包轻松安装相同版本(右键单击解决方案级别)”

谢谢!

【讨论】:

  • 您可以删除手动添加的依赖项并通过 nuget 安装,因此 Visual Studio 将为您安装所有必需的依赖项和配置。在 nuget 包管理器控制台中运行以下命令 Install-Package Microsoft.AspNet.WebApi.Core
  • 这解决了我的问题!
猜你喜欢
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
相关资源
最近更新 更多