如何使用 dotTrace 4.0、ReSharper 5.1 和 VS2008 通过 MSTest 分析单元测试?

问题描述 投票:0回答:3

我正在尝试使用 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 运行测试,如上面链接中所述,它实际上可以达到目的,但有局限性:

  • 所描述的方法运行指定 dll 中的所有测试。用于启动测试的参数也许可以调整为运行一个特定的测试,但仅运行一个微小的 UT 似乎很麻烦。
  • 看来我所有的源代码都没有附加到会话中,这需要更多时间来纠正。

我检查了 VS 选项、ReSharper 选项、.testrunconfig 选项,但没有任何运气。 以前有人解决过这个问题吗?

visual-studio-2008 mstest dottrace
3个回答
4
投票

其实ReSharper中有一个我没见过的选项:ReSharper > 选项 > 工具 > 单元测试 > MSTest > 使用此测试运行配置 当我将其设置为默认值时,它运行得很好。

我的测试配置毕竟有问题。我不知道出了什么问题,因为与默认值的唯一区别是我启用了部署,并使用了一些用于我现在未使用的测试项目的 XML 文件。我也不明白这与我的问题有什么关系。

无论如何,既然它是这样工作的...


0
投票

这可能是由 Visual Studio 附带的内置代码覆盖率引起的。请确保您的解决方案已将其关闭。

WBR,奥列格·斯捷潘诺夫 JetBrains s.r.o. “快乐地发展!”


0
投票

我使用了 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"
© www.soinside.com 2019 - 2024. All rights reserved.