2012-09-20 21 views
1

我有一組單元測試,我想在Team Foundation Build中運行。這些測試從文件系統讀取一組文件,並檢查錯誤。我無法將測試文件數據移動到我的測試DLL中,因爲重點是檢查安裝程序中發佈/捆綁的這些文件是否有效。如何在團隊基礎構建中運行接觸文件系統的測試?

當我在本地運行測試時,此工作正常,因爲測試的DLL對這些文件具有依賴性,因此Visual Studio在構建測試DLL時將它們複製過來。但是,當在構建服務器上運行時,構建服務器會將測試DLL複製到不同的目錄,以及它在元數據中聲明的直接或間接引用的程序集。因此,測試無法找到待測試的文件,因爲它們沒有被聲明爲「依賴程序集」(也不能)。

我該如何解決這個問題?

回答

3

.testsettings對話框中有一個名爲Deployment的類別。如果啓用此功能,則可以添加要在構建中部署的文件和/或目錄。

假設您使用的是MSTest,此外還會在將使用依賴關係的測試方法上放置一個[Microsoft.VisualStudio.TestTools.UnitTesting.DeploymentItem(path)]屬性(每個文件一個)。

E.g:

[TestMethod] 
[DeploymentItem("TestData/file1.xml")] 
[DeploymentItem("TestData/file2.xml")] 
public void IntegrationTestMethod() 
{ 
    //... 
} 
+0

哇..這是偉大的! –

+0

剛剛測試;它也適用於目錄 –

+0

是的,它的工作:) – Rickard

相關問題