Arc*_*ian 14 c# unit-testing visual-studio asp.net-web-api2
有没有办法在一个vs解决方案中进行单元测试或调试web api?我正在使用HttpClient使用WebAPI,并且有两个VS实例来执行此操作.
在1 VS实例中我有单元测试,在第二个vs实例中我有在localhost中运行的webapi.
有一个更好的方法吗?
单元测试的首选方法是引用WebAPI项目吗?
我想使用httpClient来使用它,而不必在UnitTest项目中引用它.
所以在我的UnitTest方法中,它的baseAddress为" http:// localhost:1234 "
这将是托管从同一解决方案启动的WebAPI的位置.
我正在调试的当前方式要求我启动第二个Visual Studio实例,其中加载了相同的解决方案并且有一个运行WebAPI项目,而另一个Visual Studio运行单元测试项目.
小智 5
因此,我和一位同事尝试了建议的答案,但没有成功。但是,实际上,我们已经找到了一种解决方案,该解决方案通过在测试中处于调试模式时将其附加到IIS进程中,就可以很好地工作。步骤如下:
为了更加轻松,我们下载了一个扩展以自动附加到IIS,该扩展在“工具”菜单中提供了一个菜单栏项。
为方便起见,我们自定义了工具栏部分,将menubar命令添加到工具栏,因此只需单击一下鼠标即可附加到IIS。
正如 Daniel Mann 所说,这不是单元测试。这就是集成测试。您正在运行整个项目并测试所有内容。
如果您想对 webapi 控制器进行单元测试,只需将单元测试项目添加到 webapi 项目并创建单元测试即可。您希望一次只专注于测试一个类。模拟/伪造该类的任何依赖项。
这是微软的一个很好的例子http://www.asp.net/web-api/overview/testing-and-debugging/unit-testing-with-aspnet-web-api
但如果您正在寻找的是在单个解决方案中运行测试。只需将两个项目放在同一个解决方案中即可。右键单击解决方案资源管理器中的解决方案。选择“设置启动项目”。选择“多个启动项目”,选择要同时启动的项目。
| 归档时间: |
|
| 查看次数: |
9384 次 |
| 最近记录: |