我正在尝试使用 dotTrace 4.0 分析单个单元测试(测试本身通过)。 看来 dotTrace 分析的是 Resharper 的测试运行程序,而不是分析测试本身。
我可以从 JetBrains 开发团队找到有关 dotTrace 3.1 问题的答案: 看来 MSTest 创建了一个用于运行测试的新进程,并且 dotTrace 3.1 的一个已知限制是它无法处理此行为。
可以使用命令行中的 /noisolation 选项来抑制 MSTest 的这种行为,但无法在 IDE 中完成。
此页面在这里: http://confluence.jetbrains.net/display/NetProf/Profiling+Unit+tests+with+dotTrace+4.0 还告诉我,使用 dotTrace 4.0 和 ReSharper 5.0,它应该可以开箱即用。
事实并非如此。
因此,我尝试从 dotTrace 的独立 UI 运行测试,如上面链接中所述,它实际上可以达到目的,但有局限性:
我检查了 VS 选项、ReSharper 选项、.testrunconfig 选项,但没有任何运气。 以前有人解决过这个问题吗?
其实ReSharper中有一个我没见过的选项:ReSharper > 选项 > 工具 > 单元测试 > MSTest > 使用此测试运行配置 当我将其设置为默认值时,它运行得很好。
我的测试配置毕竟有问题。我不知道出了什么问题,因为与默认值的唯一区别是我启用了部署,并使用了一些用于我现在未使用的测试项目的 XML 文件。我也不明白这与我的问题有什么关系。
无论如何,既然它是这样工作的...
这可能是由 Visual Studio 附带的内置代码覆盖率引起的。请确保您的解决方案已将其关闭。
WBR,奥列格·斯捷潘诺夫 JetBrains s.r.o. “快乐地发展!”
我使用了 jetBrains
上提供的文章我配置了一个测试,例如:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" /Platform:x64 /InIsolation /Logger:trx Tests.dll /TestCaseFilter:"PricesTest"
当我使用此配置时,它没有显示任何内容。有用的是删除所有参数,除了:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" Tests.dll /TestCaseFilter:"PricesTest"