2010-11-25 135 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

相關問題