2010-06-17 69 views
3

我目前正在與TFS嘗試,我真的很喜歡它。
一個小問題,關於測試文件:TFS中,測試文件的測試和佈局(在哪裏)

我有一些演示TXT目錄,圖像,顯示目錄......這些都是在測試中使用,所以到現在爲止,該路徑被硬編碼到一個文件夾在我的電腦上。現在我需要改變這一點,當然,TFS也需要訪問這些文件。

我的想法是把他們我的解決方案的文件夾內,我目前大致有這樣的結構:

  • 解決方案文件夾
    • mysol.sln
    • SomeProjectDir
    • OtherProjectDir
    • _LIB外部的.dll
    • _DEMO_FILES爲TES噸文件

整個溶液文件夾是源控制之下。 你會這樣做嗎?如何在單元測試中獲得文件夾「真實」路徑的最佳優雅方式?使用執行路徑切除其餘部分? 測試文件是否屬於源代碼管理?

感謝您的任何輸入,
克里斯

編輯:除了在答案中給出的提示,請注意,與測試有一些缺陷與此有關。測試在不同的文件夾中執行(通常以一些時間碼命名),測試文件不會自動複製到那裏。即使他們被設置爲始終複製。

的解決方案是通過使用在單元測試稱爲DeploymentItem屬性,或者,在我看來好得多手動添加文件,調整Local.testsettings和添加的文件夾在那裏。請記住,文件夾本身不會被添加,所以你需要做的是一個水平..

你會明白我的意思是,如果你嘗試。或者搜索DeploymentItem on google

回答

4

測試文件是您項目的一部分,所以沒有理由將它們排除在版本控制系統之外。您應該向版本控制系統提交構建,測試和運行系統所需的所有內容,包括第三方庫,配置文件,測試文件,甚至可以證明的文檔。請注意,這些東西中的大部分應該也是Visual Studio解決方案的一部分。

在我的項目通常我嘗試有我所有的資源爲嵌入的資源,所以,我並不需要找出路,他們被編譯成彙編。如果由於某些原因,我不能這樣做,我會讓構建將它們複製到輸出文件夾(因此將它們標記爲始終在VS中複製),然後使用相對路徑。

+0

謝謝你,是這麼認爲的......如何包括空文件夾的任何提示。我認爲VS不會將它們複製到輸出目錄,我可以在測試之前刪除一個placeholder.txt。我需要空文件夾進行一些測試(測試空文件夾不會產生問題:-) – 2010-06-17 11:38:46

+0

或者您可以使用後生成腳本來創建文件夾。 – Grzenio 2010-06-17 11:43:37

+0

是的,也是一個好主意......我想我甚至會在測試設置中做到這一點。我不喜歡構建腳本,特別是在使用TFS時。目前,一切正常,不知道它如何與腳本行爲,之前有一些問題(腳本失敗,構建被標記爲失敗,等等......)我認爲我更喜歡失敗的測試.. – 2010-06-17 11:46:00