2

我有一些Web API和一些基于HttpClient的代理类用于此Web API。在VS 2013中使用HttpClient代理类的单元测试Web API

现在我想有一些单元测试,将与代理类,将通过Web API进行交互操作。

我安排在2013年VS一个解决方案,但,为了运行测试,我必须有运行以及网络API项目问题就在这里所有这三个项目。但是,如果我运行Web API,我无法运行测试。如果我运行测试,Web API不会启动,因为每次停止调试Web API时,VS都会关闭它。

是否有可能以某种方式继续运行Web API,而我运行单元测试?在之前的VS版本中,即使您没有调试它,也可以在IIS Express中继续运行Web应用程序。如何在VS 2013中做同样的事情?

现在我发现只有一个可能的解决方案 - 打开两个视觉工作室和运行的Web API中他们和另外一个测试之一。但它不方便,我敢肯定有更加优雅的解决方案......

+0

我有同样的问题或问题。我的问题是如何在测试过程中在一个解决方案下运行测试和web api项目。我现在要做的是为WebAPI运行两个VS one实例,另一个运行UnitTest – Arcadian

回答

4

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

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

0

你也可以用了启动项目调试这将启动应用程序的实例,但仍允许您运行单元测试。

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

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