2011-02-04 33 views
1

使用VS2010我有一個測試,調用一個方法,該方法運行命令行命令輸出文件。TFS:如何引用C#中的輸出目錄

文件輸出到: ... \ TestResults \ XXXXXX 2011-02-04 09_45_46 \輸出

我想測試該文件得到了成功寫入

是否有引用的一些方法這個路徑沒有硬編碼嗎?

回答

1

對不起,我現在得到你。

您可以使用單元測試類附帶的TestContext屬性。 您有像ResultDirectory,TestDir,TestDeploymentDir等屬性...

如果你沒有它在你的TestClass中,只需添加一個名爲TestContext的公共TestContext屬性。

最好只創建一個新的單元測試類,看看它是如何使用的。

0

您是指您的路徑中的xxxxxx 2011-02-04 09_45_46部分?您可以通過...\TestResults\路徑中的文件夾,獲取最後一個文件夾(希望是您想要的文件夾),然後使用Path.Combine創建完整路徑。然後,你需要做的就是檢查文件是否在那裏。

0

您可以在項目的構建事件中指定特殊變量。

這裏是一個參考:Macros for Build Commands and Properties

我認爲OUTDIR或TARGETDIR是什麼,你可能會尋找。

+0

期待在C#中做到這一點。我可以在C#中使用這些變量嗎? – Bob 2011-02-04 10:39:50

1

我有這個昨天的事:

string outputDir = new DirectoryInfo(Assembly.GetExecutingAssembly().Location).Parent.FullName 
0

其他的,更強大的恕我直言,選擇是提供一個輸出路徑命令行實用工具,您可以指定爲一個已知位置(即Path.GetTempPath或Path.GetRandomFileName)。這樣你就不會嵌入脆弱的測試運行器依賴關係。