测试ProcessStartInfo处理执行

时间:2010-08-17 04:52:00

标签: c# .net tdd nunit

假设我有一些执行CLI应用程序的方法。例如:

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

如何更改此方法以使其可测试?

我看到我可以将该方法分成2:
1.执行CLI应用程序并将执行结果传递给第二个 2.以某种方式处理结果并返回答案

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

2 个答案:

答案 0 :(得分:1)

好吧,我决定按照我在问题中提出的那样实施。

答案 1 :(得分:0)

我不太确定我完全理解你在做什么,但是你可以拦截这个过程的STDOUT和STDERR。但是,这确实需要将`ProcessStartInfo'实例上的UseShellExecuteRedirectStandardErrorRedirectStandardOut标志设置为true。