2010-11-25 109 views
4

我已经从Visual Studio 2008开发版启动了集成测试(它们作为MSTest单元测试执行,即使它们实际上是集成测试)。我想在测试进行时进行一些分析。如何在Visual Studio 2008中配置MsTest的单元测试?

就我而言,我正在运行MSTest“有序”测试。我希望在执行每个有序测试时收集采样数据。

我该怎么做?

p.s.也许我可以从命令行完成此操作,如果我从命令提示符手动启动mstest,并尝试遵循command line directions。不幸的是,当我尝试从Visual Studio命令提示符启动VsPerfCLREnv时,它是“找不到文件”。有没有搞错?

+0

我不会这样做;测试的瓶颈可能不是您的应用程序的瓶颈。 – jason 2010-11-25 01:29:16

回答

1

不幸的是有序的测试没有可用的“创建性能会话”选项: Ordered Tests

如果你有一个简单的单元测试,你将能够创建性能会话。

要使用命令行分析,您可以导航到\ Program Files \ Microsoft Visual Studio 9.0 \ Team Tools \ Performance Tools,您将在其中看到vsperfclrenv.cmd和探查器博客中提到的其他工具。

2

我刚刚在VS2008中的分析工作。如果它可以帮助任何人,这是我如何得到它的工作:

  1. 确保你是在Debug配置模式
  2. 点击Analyse > Launch Performance Wizard
  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 /runconfig:TestRunConfig1.testrunconfig
      • 根据您的vsmdi和testrunco​​nfig文件的名称进行调整。
    • 工作目录:您的解决方案的根路径
  5. 选择Instrumentatation。我还没有尝试采样,所以我不能对此发表评论。
  6. 运行新的政绩工程

使用这种方法,我确定的瓶颈在我的代码,以及单元测试,现在快15倍的,而用户看到一个10倍的速度提升。

+1

你知道这是否有望在VS2010上运行?我已经尝试了下面的步骤(使用10.0 MSTest.exe的更新路径),并且我不断收到错误“`无法加载文件或程序集'VSPerfControl.Interop,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'`”。此外,在第4步中,您是否为测试项目选择了Dll(例如Foo.Test。dll)还是项目本身(例如Foo.dll)? – 2012-03-01 15:59:50

相关问题