Тестирование ProcessStartInfo выполняет процессы - PullRequest
0 голосов
/ 17 августа 2010

Предположим, у меня есть какой-то метод, который выполняет приложение CLI.Например:

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

Как изменить этот метод, чтобы сделать его тестируемым?

Я вижу, что могу разделить этот метод на 2:
1. Запускает приложение CLI и передаетрезультат выполнения ко второму
2. Обрабатывает результаты некоторым образом и возвращает ответ

Может быть, есть другие удобные способы?

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Ну, я решил реализовать это, как я предложил в вопросе.

0 голосов
/ 17 августа 2010

Я не совсем уверен, что полностью понимаю, что вы делаете, но вы можете перехватить STDOUT и STDERR процесса. Однако для этого необходимо установить для флагов UseShellExecute, RedirectStandardError и RedirectStandardOut в экземпляре ProcessStartInfo значение true.

...