如何在VS2017中分析单元测试

Iai*_*nab 5 profiling unit-testing visual-studio-2017

VS2017可以分析应用程序。还可以分析单元测试吗?

Ori*_*rds 13

根据@Wizou的其他答案,在 VS2019 professional 中我缺少分析单元测试的选项。

相反,我所做的是:

  • 首先打开命令行窗口,然后导航到单元测试 dll 的构建输出所在的目录
  • 运行vstest.console.exe告诉它要加载的特定 dll 并测试运行,例如vstest.console.exe MyProject.Test.dll /Tests:TestFooBar,并检查它是否有效
  • 现在,在 VS2019 分析器中执行相同的操作:
  • 选择“可执行文件”的目标并找到 vstest.console.exe (提示:我的是C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
  • 命令行选项如上
  • 单元测试 DLL 所在的工作目录
  • 启动分析会话并享受结果。

注意:您可能会发现大部分时间都由测试框架加载、静态构造函数、反射和 JITing 等内容主导,并且有太多噪音来确定实际测试的哪些部分很慢。为了提供帮助,这个肮脏的伎俩非常有效:

[TestMethod]
public void TestFooBar()
{
    for (int i = 0; i < 10000; i++) // extra iterations for profiling. Vary this number if 10k is too small
    {
        // your normal unit test which you'd only run once goes here
    }
}

Run Code Online (Sandbox Code Playgroud)


hab*_*kuk 5

就在这里。右键单击单元测试,然后选择“配置文件测试”。

但这仅在企业版和专业版中可用。

  • 这似乎只适用于 MSTest,不适用于 NUnit、XUnit?! (3认同)