2013-04-04 60 views
0

使用MSTest時,如何將測試數據文件夾部署到TestResults目錄?使用MSTest時,如何將測試數據文件夾部署到TestResults目錄?

在我的UnitTests項目中,我有一個包含一些xml文件作爲測試數據的TestData文件夾。

,使其部署測試數據文件夾的測試運行時,我已經更新了ci.testrunco​​nfig:

<Deployment> 
    <DeploymentItem filename="TestData" outputDirectory="CustomFolder/TestData" />  
    </Deployment> 

但不部署的文件夾。

如何解決?

我可以通過設置「複製到輸出目錄」爲特定文件的「總是複製」來部署文件,但我想避免這種方法,因爲我無法控制文件/文件夾將被部署。

回答

0

您需要使用DeploymentItem標籤。你可以在課堂上或特定的單元測試中完成。在Test項目中添加您需要部署的目錄和文件(例如MyFiles)。

在你的測試類驢DeploymentItem並給你的目錄名稱。

[TestClass] 
[DeploymentItem("MyFiles")] 
public class MyClassTest 
{ 
    [TestMethod] 
    public SomeMethodTest() 
    { 
     // Your unit test. 
    } 

    [TestMethod] 
    [DeploymentItem("MyFiles")] 
    public AnotherMethodTest() 
    { 
     // Your unit test. 
    } 
} 
+0

我試過,但沒有複製/部署過來。 – 2013-04-04 08:55:32

+0

我正在使用這個,這工作正常。你的解決方案中有測試設置嗎? – 2013-04-04 08:56:51

0

EDITED我已經錯過了,你用VS2005,VS2008工作,因爲你使用.testrunconfig這在VS2010和更高.testsettings

無論如何,我只是與非常類似的問題掙扎。這就是我發現的。您可以通過以下方式之一部署文件夾目錄TestResults:

  1. 設置進行部署複選框在.testrunconfig.testsettings。選擇您需要部署的文件夾。事物文件夾將不會被部署,但文件夾內容將被部署(如果文件夾爲空,則不會部署)到TestResults目錄。只在TestResults目錄的根目錄下。如果您需要部署文件夾和文件夾內容,則可以選擇否2

  2. 再次,設置啓用部署複選框.testrunconfig.testsettings。使用[DeploymentItem(pathOrigin, pathDest)]屬性。 PathOrigin可以是絕對路徑或相對路徑。相對路徑是相對於在.testrunconfig.testsetting文件中找到的RelativePathRoot設置。 RelativePathRoot默認爲您的解決方案文件夾,因此請使用Projectname/DirectoryName將目錄部署到TestResults。如果MSTest找不到目錄(或文件),它會嘗試在您的TestProject的bin文件夾中找到它。

還與testsettings所有的實驗之後,你需要手動刷新TestView窗口

+0

@The Light編輯答案 – nikita 2013-04-05 11:49:37

相關問題