2013-02-11 89 views
2

我面臨這種來自我的Visual Studio的異常行爲,突然我的測試二進制文件(mytestsolution.dll)和引用中添加的依賴項二進制文件從我的Bin文件夾中複製到TestResults \\ Out文件夾中並啓動從那裏執行?爲什麼我的測試二進制文件被複制到TestResults <somepath> out文件夾中?

這會導致我的測試失敗,因爲我的GetExecutionAssembly()提供了Out文件夾的路徑,而不是Bin文件夾的一些相關二進制文件存在的路徑?

任何人都可以幫我解決這個問題嗎?

+0

你檢查項目的構建設置:'屬性 - >生成 - >輸出Path'? – 2013-02-11 13:43:47

+0

輸出路徑僅爲bin文件夾。該文件是在bin文件夾中創建的,但是當從visual studio執行時,它將被複制到測試結果文件夾並從那裏執行 – satya 2013-02-11 19:52:33

回答

0

更改屬性Copy LocalFalse

  1. 右鍵點擊mytestsolution.dll然後單擊Properties
  2. 從那裏更改Copy Local
  3. 構建解決方案,並立即檢查。
0

這是MSTest的默認行爲。解決方案編譯後,testrunner將直接引用複製到TestResults \ _TestRun_ \ Out文件夾。更改編譯設置(CopyLocal)不會影響測試運行。

如果你有被要求的依賴,但不是在TestRun輸出文件夾,您有幾種選擇:

  1. 添加到測試裝配這些組件的引用。由於測試運行器使用反射來確定依賴關係,因此您需要引用該程序集中的類。

  2. 修改當前測試設置並將依賴關係包含爲部署項目。

0

您可以通過在測試運行配置中禁用部署來修復此問題。例如,在VS 2008中:測試>編輯測試運行配置>本地測試運行>部署>啓用部署=關閉。

查看Test Deployment Overview瞭解更多詳情。

2

Visual Studio 2010中創建一個文件夾TestResults和部署與下面的架構子目錄中的所有相關的文件:username_computername日期時間

如果您的解決方案沒有.testsettings文件,這是正常行爲。 .testsettings文件位於文件夾解決方案項目

如果你有一個.testsettings文件,這取決於設置在部署部分進行部署。如果啓用部署被選中,TestResults文件夾將被創建並填充。

enter image description here

在某些情況下,它是可能的TestResults文件夾將被創建,儘管啓用的部署被禁用。但是在這種情況下,該文件夾僅用於某些臨時文件,而不用於測試的執行文件。

欲瞭解更多相關信息,請參閱:

MSDN - Test Deployment Overview

相關問題