c# - 如何在 Visual Studio 2008 中分析 MsTest 的单元测试?

标签 c# .net visual-studio profiling mstest

我有从 Visual Studio 2008 开发版启动的集成测试(它们作为 MSTest 单元测试执行,尽管它们实际上是集成测试)。我想在进行测试时进行一些分析。

在我的例子中,我有一个正在运行的 MSTest“有序”测试。我想在执行每个有序测试时收集采样数据。

我该怎么做?

附注也许我可以从命令行完成此操作,如果我从命令提示符手动启动 mstest,同时尝试遵循 command line directions .不幸的是,当我尝试从 Visual Studio 命令提示符启动 VsPerfCLREnv 时,提示“找不到文件”。什么鬼?

最佳答案

我刚刚在 VS2008 中进行了性能分析。如果它对任何人有帮助,以下是我如何让它工作:

  1. 确保您处于调试配置模式
  2. 单击分析 > 启动性能向导
  3. 选择Profile a dynamic link library
  4. 输入以下内容:
    • Dll路径:你要检测的dll,位于单元测试项目的bin\Debug中
    • 可执行路径:C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe
    • 启动选项参数:/testmetadata:TestList.vsmdi/runco​​nfig:TestRunConfig1.testrunco​​nfig
      • 根据您的 vsmdi 和 testrunco​​nfig 文件的名称进行调整。
    • 工作目录:您的解决方案根路径
  5. 选择Instrumentatation。我没有尝试过采样,所以我不能对此发表评论。
  6. 运行新的性能项目

使用这种方法,我确定了代码中的瓶颈,现在单元测试速度提高了 15 倍,用户看到速度提高了 10 倍。

关于c# - 如何在 Visual Studio 2008 中分析 MsTest 的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4272928/

相关文章:

c++ - 切换到非调试运行时/MT 导致链接错误

visual-studio - 调用栈和反汇编疑惑

c# - System.ComponentModel.Win32Exception : Access is denied. ....错误

c# - 为什么我使用库 A 的 C# 客户端需要有库 B(A 使用)的 using 语句

c# - 当我尝试从 WPF 中的 RichTextBox 手动删除图像时出现 InvalidOperationException

c# - 将两个属性联合到普通列表 c#

.net - 如何在旋转后而不是之前调整 WPF 元素的大小?

c# - 使用 Revit API 在模型中放置自定义体量族实例

c# - 提高 System.DirectoryServices.AccountManagement 的性能

c# - Visual Studio : How would I write tool-tips for my own methods?