我有从 Visual Studio 2008 开发版启动的集成测试(它们作为 MSTest 单元测试执行,尽管它们实际上是集成测试)。我想在进行测试时进行一些分析。
在我的例子中,我有一个正在运行的 MSTest“有序”测试。我想在执行每个有序测试时收集采样数据。
我该怎么做?
附注也许我可以从命令行完成此操作,如果我从命令提示符手动启动 mstest,同时尝试遵循 command line directions .不幸的是,当我尝试从 Visual Studio 命令提示符启动 VsPerfCLREnv 时,提示“找不到文件”。什么鬼?
最佳答案
我刚刚在 VS2008 中进行了性能分析。如果它对任何人有帮助,以下是我如何让它工作:
- 确保您处于
调试
配置模式 - 单击
分析 > 启动性能向导
- 选择
Profile a dynamic link library
- 输入以下内容:
- Dll路径:你要检测的dll,位于单元测试项目的bin\Debug中
- 可执行路径:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe
- 启动选项参数:
/testmetadata:TestList.vsmdi/runconfig:TestRunConfig1.testrunconfig
- 根据您的 vsmdi 和 testrunconfig 文件的名称进行调整。
- 工作目录:您的解决方案根路径
- 选择
Instrumentatation
。我没有尝试过采样,所以我不能对此发表评论。 - 运行新的性能项目
使用这种方法,我确定了代码中的瓶颈,现在单元测试速度提高了 15 倍,用户看到速度提高了 10 倍。
关于c# - 如何在 Visual Studio 2008 中分析 MsTest 的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4272928/