Как исправить недостающий CR в отображении консольного приложения - PullRequest
0 голосов
/ 10 октября 2019

Я написал консольное приложение на C #, которое использует Console.Writeline для вывода текста.

Console.WriteLine($"Test Results Failures: {failures.Count}");
Console.WriteLine($"             System Errors: {systemErrors.Count}");

При выполнении через Powershell вывод, показанный через Powershell,

Test Results  Failures: 14                         System Errors: 13

Примечаниеотсутствие возврата каретки.

Как это исправить?

Я вызываю скрипт Powershell из командной строки Powershell:

powershell -noexit "& 'RunAndTest.ps1'"

И скрипт:

$output="`n------------Tests ---------------`n"
Write-Host $output;

$output="-------> Running Postman"
Write-Host $output;

$collection='collection.json';
$environment='local_environment.json';
$output=$(newman run $collection -e $environment --color off --disable-unicode);

Write-Host $output;

$output="-------> Evaluating Results`n"
Write-Host $output;

$output=$(dotnet FunctionalTestXml.dll test.xml);
Write-Host $output;

If ($LastExitCode -eq 0) {
    $output= "Success"
} Else {
    $output = "Failure " + $LastExitCode
}

Write-Host $output;

$output="`n---------------------------------`n"

Write-Host $output;

Консольное приложение выполняется с помощью команды dotnet:

$output=$(dotnet FunctionalTestXml.dll test.xml);

Спасибо за ваше время и помощь.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Похоже, связано с тем, используется ли результат:

$output=$(dotnet FunctionalTestXml.dll test.xml);
Write-Host $output;

Проблематично. Просто делаю

dotnet FunctionalTestXml.dll test.xml

Отображает правильно.

Я не понимаю, почему CR-LF потеряны. Это условие проявляется и в других сценариях, например, при оценке результата из другого сценария PS.

$result = & "RunAndTest.ps1"
#display script output
Write-Host $result

Результаты также приводят к потере CR-LF.

0 голосов
/ 10 октября 2019

Вы могли бы сделать

Console.WriteLine("Test Results Failures: " + failures.Count);
Console.WriteLine("             System Errors: " + systemErrors.Count);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...