2014-02-11 62 views
0

我有一段代碼調用MSTEST有多個參數定義一組特定的測試運行,並在運行的環境中處理對象。目前,代碼如下(有點混亂,但它作品):使用帶有多個參數

Process.Start(Environment.GetEnvironmentVariable("VS110COMNTOOLS") 
    & "..\Ide\MSTEST.EXE", "/Testsettings:""" & rwSettings & """" 
    & " /Testcontainer:""" & rwContainer & """" & " /Resultsfile:""" 
    & rwResults & """") 

用前面定義的各種變量。我必須使用GetEnvironmentVariable("VS110COMNTOOLS")調用,因爲我無法保證Visual Studio的安裝位置,並且需要訪問MSTEST可執行文件。 "..\Ide\MSTEST.EXE"是因爲環境變量只會讓我的右側區域,我需要讓系統導航到IDE找到MSTEST之前。

我要清理它,因爲它不是很優雅或可讀的,也因爲我希望能夠提高運行這個進程的事件。但是,類處理參數的方式我沒有看到documentation。我怎樣纔能有Process對象創建處理多個自變量(即可能在名字空間)?

回答

1

你可以試試這個:

Dim Testsettings As String = "/Testsettings:""" 
Dim Testcontainer As String = " /Testcontainer:""" 
Dim Resultsfile As String = " /Resultsfile:""" 
Dim Quote As String = """" 

Dim p As New Process() 
p.StartInfo.FileName = Environment.GetEnvironmentVariable("VS110COMNTOOLS") 
         & "..\Ide\MSTEST.EXE" 
p.StartInfo.Arguments = Testsettings & rwSettings & Quote & Testcontainer 
         & rwContainer & Quote & Resultsfile & rwResults & Quote 

p.Start()