WebAPI应用程序和集成测试在同一解决方案中

时间:2015-04-26 15:46:40

标签: asp.net visual-studio-2013 asp.net-web-api nunit

我有一个WebAPI应用程序和一个集成测试套件,用于通过HTTP调用API的应用程序。目前,我在visual studio 2013的一个实例中运行集成套件,并在另一个实例中手动启动WebAPI应用程序,以便在IIS Express上运行。

是否可以配置VS2013,以便我可以将测试套件和应用程序放在同一个解决方案中,只需运行测试套件(我正在使用nunit和resharper运行),此时它将负责构建并启动网络应用程序?

2 个答案:

答案 0 :(得分:2)

您可以在self-host中配置WebAPI。然后在测试夹具设置中,您将启动主机并在每次测试后将其拆除。然后,所有测试都将配置为命中本地托管的API。

答案 1 :(得分:2)

我真的不明白为什么VS不支持这个。这似乎是一个非常普遍的问题。

无论如何......我找到了一个(丑陋的)workaroud。

打开您的解决方案两次(这意味着,两个VS打开的实例使用相同的解决方案):

  • 在第一个VS:
    • 以调试模式运行Web API项目
  • 在第二个:
    • 卸载Web API项目(必须在运行之前构建测试,如果Web API项目被“加载”,构建过程将失败,因为输出dll无法被覆盖 - 它们正被其他窗口使用)< / LI>
    • 运行单元测试! :)