2011-07-03 36 views
0

我的問題是關於測試文件我的意思是非代碼文件,我的一些自動化測試依賴於(* .xml,* .xls,* .jpg等等)。所以我會使用樣本測試文件不要與測試文件相混淆,這意味着包含測試的代碼文件。在Visual Studio和SVN中組織'樣本測試文件'

我的大部分自動化測試都是孤立的單元測試,但我也在單個項目(MyApp.Tests.Integration)中進行了一些集成測試,用於驗證與外部依賴項交互的類的行爲。

我的樣本測試文件集合包含在我的解決方案MyApp.Tests.TestFiles中的另一個項目中。每個文件的屬性都有一個「內容」和「如果較新」的構建動作。

MyApp.Tests.TestFiles

當我運行我的測試解決方案建立和文件複製到我的輸出目錄的「bin \調試」和我的集成測試是指他們那裏。

觸發問題的問題是,我一直在將我的示例測試文件提交到我的svn存儲庫,該存儲庫與我的代碼一起在線存儲有限的存儲空間。這些文件在存儲庫中佔用了過多的空間。自從我重建了存儲庫並將所有示例測試文件縮小到了最小尺寸。

在大多數情況下,樣本測試文件不太可能改變,因此雖然我希望它們可用來從我的存儲庫中檢出工作副本,但只要我可以重新構建MyApp,沒有真正的理由讓它們處於版本控制之下.Tests.TestFiles \ TestFiles目錄結構來運行測試。

是這樣的情況,我希望答案以下幾點:

  • 有沒有更好的方式使用這些文件的工作?
  • 將這些文件保存在我的解決方案之外的某個地方會更好嗎?
  • 我可以在svn存儲庫中保留任何必需的文件,但不能在版本控制下保存嗎?
  • 想了解更多關於MSBuild的信息對我有幫助嗎?

回答

0

我懷疑在「最好」的方式來組織事物會有協議。我知道在我的SCM系統中,我通常喜歡有一個包含可部署代碼和測試代碼的文件夾的文件夾。假設我正在構建Widget,並且我有一個名爲MyLibrary的DLL。然後文件夾Widget將有一個名爲MyLibrary的文件夾和一個名爲MyLibrary_test的文件夾。在VS中,我做同樣的事情,並將我的測試項目保存在與我的可部署項目相同的解決方案中。我一個人工作,所以更大的團隊可能會發現其他組織風格更合適

我對待我的測試代碼就像可部署的源代碼一樣。它在源代碼管理系統中。 SVN保留差異文件,因此保留測試文件的版本化副本並不昂貴。 SVN甚至試圖在二進制文件上保留增量,但有時候這也是doesn't work out as well as one mighthope。我不相信SVN旨在保留一個源文件的最新唯一副本。 「三角洲」的做法不會奏效。您第一次意外地對測試文件進行更改時,您希望可以返回並獲取經緯度版本。

相關問題