Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 测试ProcessStartInfo进程执行_C#_.net_Tdd_Nunit - Fatal编程技术网

C# 测试ProcessStartInfo进程执行

C# 测试ProcessStartInfo进程执行,c#,.net,tdd,nunit,C#,.net,Tdd,Nunit,让我们假设我有一些执行CLI应用程序的方法。例如: public string SomeMethod(string cmd) { var p = new ProcessStartInfo(cmd); // processing execution results return result; } 如何更改此方法以使其可测试 我发现我可以将该方法分成两部分: 1.执行CLI应用程序并将执行结果传递给第二个 2.以某种方式处理结果并返回答案 可能还有其他一些方便的方法吗?我

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

public string SomeMethod(string cmd)
{
    var p = new ProcessStartInfo(cmd);
    // processing execution results
    return result;
}
如何更改此方法以使其可测试

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


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

我不太确定我是否完全理解您在做什么,但如果您能够截取进程的STDOUT和STDERR。但是,这确实需要将'ProcessStartInfo'实例上的
UseShellExecute
RedirectStandardError
RedirectStandardOut
标志设置为true。

好吧,我已经决定按照问题中提供的方法实现它