Чего я пытаюсь достичь: я хочу использовать веб-приложение для запуска всех тестов на моем локальном ПК с Windows.
Я использую следующую команду:
c:/code/myRepo && dotnet test
Я пробовал следующую команду при запуске:
cmd.exe /C "c:/code/myRepo && dotnet test"
, которая успешно выполняется и все мои тесты пройдены.
Теперь я хочу запустить это из моего приложения .net Core следующим образом:
public static string RunCommand( string cmd)
{
var escapedArgs = cmd.Replace("\"", "\\\"");
var process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
Arguments = $"/C \"{escapedArgs}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = false,
}
};
process.Start();
string result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return result;
}
Когда я запускаю тесты отсюда, тесты запускаются, но все они терпят неудачу.
Вопрос: между этими двумя средами есть что-то другое, но я понятия не имею, что, как / что я могу проверить, что может отличаться.Я попробовал команду:
set
и не вижу ничего, явно влияющего на окружающую среду