2010-08-17 42 views
0

讓我們假設我有一些執行CLI應用程序的方法。例如:測試ProcessStartInfo進程執行

public string SomeMethod(string cmd) 
{ 
    var p = new ProcessStartInfo(cmd); 
    // processing execution results 
    return result; 
} 

如何更改此方法以使其可測試?

我發現我可以拆分方法分爲2:
1.執行CLI應用程序,並通過執行結果到第二
2.過程的結果以某種方式,並返回應答

可能一些其他方便的方法?

回答

1

那麼,我已決定實施,因爲我提出的問題。

0

我不太清楚我完全理解你在做什麼,但它可以攔截過程的STDOUT和STDERR。但是,這需要將「ProcessStartInfo」實例上的UseShellExecuteRedirectStandardErrorRedirectStandardOut標誌設置爲true。

+0

是的,你不明白:-) http://en.wikipedia.org/wiki/Unit_testing – zerkms 2010-08-17 05:14:53