如何使用 Visual Studio 2013 Professional 分析单个单元测试的性能?

How to profile performance for a single unit test using Visual Studio 2013 Professional?

我想运行 Visual Studio 2013 Professional edition profiler 用于单个自动化测试。从这里的其他问题中不清楚如何使用专业版这样做。

这可能吗?如果可能,怎么做?

好的,所以我想出了如何为探查器采样(不是仪器)做...

  1. 启动 Visual Studio (VS) 并打开包含您要分析的自动化测试的项目。
  2. 在将要分析的测试的第一行放置一个断点。
  3. 调试测试。
  4. 启动 VS 的第二个实例。
  5. 打开性能资源管理器(取决于您的 VS2013 版本,这将位于工具->分析->Windows->性能资源管理器或分析->Windows->性能资源管理器)。
  6. 在 Performance Explorer 中,单击 Actions->Attach 并附加到 vstest.executionengine.*.
  7. 返回第一个 VS 实例(当前处于断点)并运行测试完成。
  8. 回到第二个VS实例。探查器将检测到单元测试进程已退出并完成其探查。

可以改进的一件事是使用检测来做到这一点,但我目前还不清楚如何在 VS 专业版中做到这一点。

为了 运行 单元测试的性能分析,我只是创建了一个控制台应用程序,我从中调用单元测试方法,然后将其用作性能分析的目标项目。这可能比启动两个 VS 实例并附加更容易。