在 Visual Studio 中调试单元测试时,有没有办法动态附加到 运行 Web 应用程序?

When debugging unit tests in Visual Studio, is there a way to dynamically attach to a running web application?

我正在使用 Visual Studio 2013 来调试 C# Web API。 Web API 代码在我机器上的 IIS 中自动 运行ning(它不是由 Visual Studio 启动的)。它位于 localhost\myProject\api\ 并接受由 JavaScript 前端传递的基本参数。

我正在使用 运行 服务器端并调用 Web API 的 C# 单元测试项目进行调试。当我 运行 "debug tests" 时,测试是用调试器启动的,但是没有加载目标 Web Api 的符号,我需要手动附加到 Web API 进程每次我运行一个测试。

有没有办法 Visual Studio 将单元测试与 运行ning 应用程序动态关联,这样我就不需要为每个测试手动将调试器附加到相应的进程 运行?

理想情况下,您不需要为 运行 单元测试附加到 IIS。您的 Web API 端点应该调用您可以从单元测试访问的代码,而无需从测试中调用 Web API。

我不确定你想做的事情是否可行,但如果你可以在你的 API 调用和你的代码之间构建一个层,你可以更容易地测试和调试这些测试。