【发布时间】: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