2011-09-20 80 views
1

我希望能夠將一個系統參數 - 「主機」傳遞給MStest套件。要創建用於持續集成的自動化作業,我希望能夠將主機指定爲參數,以便在特定主機上運行測試。我用mstest找不到任何這樣的選項。 在Java中,可以將-Dhost =「localhost」指定爲正在運行的VM的參數。 MStest for C#中有類似的方法嗎?在Java中是否存在C#mstest系統屬性的等價物?

回答

0

我不相信有一個確切的等值。而是嘗試利用.NET配置文件:

將應用程序配置文件(App.config)添加到MSTest項目中。在appSettings部分添加您的「系統」屬性作爲鍵。使用ConfigurationManager.AppSettings集合在您的測試中引用這些值。

1

沒有提到的Java系統屬性的等價物。下面是關於如何來接近您所期待的一對夫婦的想法:

[1]

Visual Studio的測試支持不包括Test Run Configurations(在Visual Studio 2010中更名爲Test Settings)。這是一個文件,它指定了許多控制測試運行方面的設置。例如,您可以在測試旁邊部署其他文件,或者在測試運行開始之前運行「設置」批處理腳本。

如果您有一組有限的主機,您可以爲每個主機單獨運行配置/測試設置。每個配置/設置都會部署一個包含不同主機名稱的文件。然後,您可以將該文件作爲單元測試設置的一部分讀入,可能從您的[TestInitialize]方法中讀取。有點狡猾,但也許它會做你想做的。

[2]

您可以設置系統環境變量(例如,「TESTHOST」)運行測試,然後讀取您的測試,環境變量之前。你可以將所有這些包裝在一個簡單的程序或批處理腳本中,該腳本接受一個參數來設置環境變量,調用mstest,然後取消設置環境變量。例如,this StackOverflow post可能會爲您提供一些關於如何使用PowerShell執行此類操作的建議。

相關問題