Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing VS 2013中使用HttpClient代理类对Web API进行单元测试_Unit Testing_Asp.net Web Api_Visual Studio 2013_Dotnet Httpclient - Fatal编程技术网

Unit testing VS 2013中使用HttpClient代理类对Web API进行单元测试

Unit testing VS 2013中使用HttpClient代理类对Web API进行单元测试,unit-testing,asp.net-web-api,visual-studio-2013,dotnet-httpclient,Unit Testing,Asp.net Web Api,Visual Studio 2013,Dotnet Httpclient,对于这个Web API,我有一些Web API和一些基于HttpClient的代理类 现在我想做一些单元测试,这些测试将与代理类一起运行,代理类将与Web API交互 在VS 2013中,我将所有这三个项目组织为一个解决方案。但这里的问题是,为了运行测试,我必须同时运行WebAPI项目。但是如果我运行Web API,我就不能运行测试。若我运行测试,Web API不会启动,因为每次我停止调试Web API时VS都会将其关闭 在我运行单元测试时,是否有可能继续运行Web API?在以前的VS版本中,

对于这个Web API,我有一些Web API和一些基于HttpClient的代理类

现在我想做一些单元测试,这些测试将与代理类一起运行,代理类将与Web API交互

在VS 2013中,我将所有这三个项目组织为一个解决方案。但这里的问题是,为了运行测试,我必须同时运行WebAPI项目。但是如果我运行Web API,我就不能运行测试。若我运行测试,Web API不会启动,因为每次我停止调试Web API时VS都会将其关闭

在我运行单元测试时,是否有可能继续运行Web API?在以前的VS版本中,即使您没有调试web应用程序,也可以在IIS express中保持其运行。如何在VS 2013中实现同样的目标


目前我只找到了一个可能的解决方案——打开两个Visual Studio,在其中一个中运行Web API,在另一个中运行测试。但这并不方便,我相信有更优雅的解决方案

使用内存托管API。这样,它将在同一进程中运行,它将生成零网络流量,并且您的测试将运行得更快


除此之外,我总是在不同的VS实例中运行Web API。在我看来,这是一个更加优雅的解决方案。

您也可以在不进行调试的情况下启动项目。这将启动应用程序的实例,但仍然允许您运行单元测试

从调试开始: 1.右键单击要运行的项目。 A.选择“设置为启动项目”。 2.转到“调试”菜单,然后单击“开始而不调试”


这将启动您的API实例,并允许您测试您的端点。

我也有同样的问题。我的问题是如何在测试期间在一个解决方案下运行测试和WebAPI项目。我现在要做的是运行两个VS实例,一个用于WebAPI,一个用于UnitTest