代码之家  ›  专栏  ›  技术社区  ›  Ed Avis

Visual Studio 2017+NUnit+Resharper中的剖面单元测试

  •  3
  • Ed Avis  · 技术社区  · 7 年前

    [Test] 它在编辑器中显示一个小的绿色勾号图标,在这里我可以右键单击并“运行”或“调试”测试。当我这样做时,会打开一个窗口,其中包含解决方案中的所有测试,我可以单击绿色的“播放”三角形来运行所有测试。

    到现在为止,一直都还不错。现在,如何在探查器下运行单元测试?

    当我第一次问这个问题时,我寻找分析单元测试,并看到它是Visual Studio Professional中的一个特性。但事实上,我并没有使用VS自己的单元测试支持,而是使用由Resharper驱动的NUnit。很抱歉把所有人都赶走了。

    2 回复  |  直到 7 年前
        1
  •  1
  •   tm1    6 年前

    如果可以调试并在断点处停止,则还应该能够根据 this page enable diagnostics tools while debugging .

        2
  •  1
  •   Patrick Stalph    6 年前

    使用VS2017 Professional和诊断工具,您可以分析两个断点之间的代码!

    因此,可以调试单元测试(xunit、nunit、mstest等等!)使用任何这样的工具(VS Test Explorer、ReSharper等):

    1. enable diagnostic tools while debugging answer from tm1 )
    2. 在单元测试开始时设置一个断点,在测试结束时设置另一个断点(或者在您喜欢的任何地方)
    3. 打开“诊断工具”窗口(调试>窗口>显示诊断工具)
    4. 开始记录CPU配置文件(所有这些图下面的小记录按钮)
    5. 继续(F5)到下一个断点
    6. VS现在将为这段时间创建一个快照,您可以深入研究相关的方法。喂!

    为了完整起见,另一种商业解决方案是Jetbrain的DotTrace,它是ReSharper Ultimate在本文写作时的一部分。在这里,您可以直接分析您的单元测试,而无需手动断点。

        3
  •  1
  •   ike    6 年前

    编辑

    根据@patrick stalph的说法,在Visual Studio 2017 Professional中,三步解决方案不起作用。


    免责声明

    我在用 ,所以我无法检查,这是否有效 专业的 ,或不。


    1. 正常开放 测试资源管理器 例如 Ctrl + Q ,然后键入 Test Explorer 然后击中 Enter
    2. 你应该看看你的测试 . 如果你不能, 建造
    3. 选择一个测试,右键单击它,然后选择 剖面测试

    解决办法

    ,我还没看到这个功能起作用。见 this issue ,为什么我没有。
    answer 属于 Jeremy Liberman

    1. 安装 xunit.runner.console NuGet包到测试项目
    2. 点击 > 性能探查器。。。 工具栏 .
    3. 目标 可执行文件
    4. 点击 起点
    5. 跟着巫师,直到你到达 选择要分析的应用程序(.EXE、.DLL、网站)
    6. 选择 可执行文件(.EXE文件)
    7. 基于 Run tests with the xUnit.net console runner
      • 完整路径 : c:\<...>\src\packages\xunit.runner.console.2.4.0\tools\net472\xunit.console.exe
      • 命令行参数 : <Product>.Tests\bin\Debug\<Product>.Tests.dll
      • 工作目录 c:\<...>\src\ (的根 解决方案 )
    8. 下一个 ,

    注意,这将分析测试程序集中的所有测试。您可以选择,通过提供更多 命令行参数 . 要了解有关控制台运行程序选项的更多信息,请运行不带命令行选项的控制台运行程序。

    推荐文章