2013-03-21 40 views
13

如何設置MS Tests項目的工作目錄,就像我可以爲普通應用程序項目設置一樣?我測試過的組件需要訪問其他應用程序也使用的一些配置文件。到目前爲止,我必須將這些文件複製到我的測試項目的bin/debug文件夾中,因爲這些文件應該位於工作目錄中。如何設置MS Test項目的工作目錄

是否可以設置測試項目的工作目錄?

回答

2

測試項目的工作目錄是在開始運行測試時創建的。

如果您在本地運行它們,則會在項目文件夾內的文件夾TestResults中創建。如果在遠程機器上運行它們在每個測試劑產生在下面的路徑中的不同的文件夾:

C:\用戶{userRunsTheTest} \應用程序數據\本地\ VSEQT \ QTAgent \ {GuidForThisRun}

爲了您的文件夾,這些中部署和訪問他們,你必須:

  1. 設置
  2. 在需要測試這些文件將它們設置爲DeploymentItems
+1

在我的機器上,工作目錄是testnet bin/debug od項目。使用副本的想法總是已經到了我的面前,但我寧願不要將所有需要的項目複製到測試輸出目錄。 – Thomas 2013-03-21 11:43:22

3

對於那些使用Visual Studio 2012的用戶,如果在Properties | Build | OutputPath下設置測試項目的輸出目錄,那麼當你從Visual Studio運行測試時它將成爲工作目錄(因爲它使用Vstest.console.exe)。如果你不想讓你的測試dll等輸出到你的其他文件所在的同一目錄中,並且你不想把其他文件作爲測試項目中的內容(如Schaliasos所建議的那樣),那麼你可以設置具有[AssemblyInitialize]屬性的方法啓動時的路徑。通過像往常一樣分配System.Environment.CurrentDirectory來完成此操作。您可能希望將工作目錄作爲設置或從配置文件中讀取。

編輯

正如指出的Rohit.Net,當你選擇Run All Tests默認的路徑將是下TestResults。使用runsettings文件時也是如此。輸出文件夾會當你不使用DeploymentItems和默認的工作目錄: - 你從運行

  • 用鼠標右鍵單擊在Visual Studio的測試(S)和選擇運行/調試,或
  • 命令行使用vstest.console.exe。
1

當您從測試資源管理器在Visual Studio 2012

的默認路徑,你會得到選擇Run All tests Acarlon的建議不工作有點像...\TestResults\Deploy_<YourName>2014-01-13 14_48_20\Out文件夾。

因此,當實體嘗試打開連接以運行與實體相關的測試時,您的數據庫可能無法訪問。

在我的情況下,我使用的SQL CE被設置爲資源文件,並且始終編譯並將其自身放入Bin/Debug/Resource文件夾中。