Лучший способ модульного тестирования консольного приложения c #

У меня есть простое консольное приложение. Он запускается с обычного main, и вся программа повторяется в main. Он используетБиблиотека анализатора командной строки, Затем у меня есть второй проект в решении, содержащее модульные тесты для приложения. Но, похоже, я не могу найти хороший способ запустить процессы основной программы из тестов. Мой текущий код для фактического запуска процесса выглядит примерно так.

...

process = new Process();
process.StartInfo.FileName = "FooBar";
process.StartInfo.Arguments = arguments;

// use it to start from testing environment
process.StartInfo.UseShellExecute = false;

// redirect outputs to have it in testing console
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;

...

Я пробовал настройку

process.StartInfo.WorkingDirectory

в

AppDomain.CurrentDomain.BaseDirectory

а также

Environment.CurrentDirectory;

Но нужно ли мне указывать полный относительный путь для исполняемых файлов консольных приложений или есть усовершенствованный способ запуска процессов из "проверенного"? приложение? Сначала у меня были тесты как класс в "main" Программа, а затем она работала просто отлично. Проблемы начались, когда я переместил тесты в их собственный проект. Вот почему я подозреваю, что путь - это проблема или что-то в этом роде.

Я также попытался запустить программу Program.Main, но это так плохо :)

Ответы на вопрос(2)

Ваш ответ на вопрос