Najlepszy sposób na jednostkowe testowanie konsoli c # app

Mam prostą aplikację na konsolę. Jest uruchamiany z normalnym głównym i całym programem. UżywaBiblioteka parserów wiersza poleceń. Następnie mam drugi projekt w rozwiązaniu zawierający testy jednostkowe dla aplikacji. Ale nie wydaje mi się, aby znalazłem dobry sposób na uruchomienie procesów programu głównego z testów. Mój aktualny kod do rozpoczęcia procesu wygląda mniej więcej tak.

...

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;

...

Próbowałem ustawienia

process.StartInfo.WorkingDirectory

do

AppDomain.CurrentDomain.BaseDirectory

i

Environment.CurrentDirectory;

Ale czy muszę określić całą ścieżkę względną dla wykonywalnych aplikacji konsoli, czy też istnieje wyrafinowany sposób uruchamiania procesów „przetestowanej” aplikacji? Najpierw miałem moje testy jako klasę w programie „głównym”, a potem zadziałało dobrze. Problemy zaczęły się, gdy przeniosłem testy do własnego projektu. Dlatego podejrzewam, że jest to ścieżka lub coś w tym rodzaju.

Próbowałem także Running Program.Main, ale to po prostu źle się czuje :)

questionAnswers(2)

yourAnswerToTheQuestion