Azure Pipeline - в результате Assert возвращаются неправильные символы - PullRequest
0 голосов
/ 17 июня 2019

Не могу понять, как решить мою проблему с международными (в данном случае русскими) символами, возвращенными из проекта xUnit-tests в моем решении (ASP.NET Core 2, тестовый проект в решении).

Вопрос такой: Как сделать их читабельными?

wrong characters

Я использую сборочную машину на основе Ubuntu 16.04, выше вы можете увидеть результат ошибки Assert. Есть 2 строки, которые нужно сравнить, и я даже не могу понять, какие у меня там строки. Так что я хочу видеть реальный текст вместо этих .

Полагаю, что это также может быть причиной неудачного теста, так как на моем ноутбуке все в порядке, и у меня нет неудачного теста. Но там я вижу, что какой-то дополнительный персонаж - что это? Не могу понять ...

Вот раздел, в котором выполняются тесты на конвейере Azure (из azure-pipelines.yml) ^

- task: DotNetCoreCLI@2
  displayName: 'dotnet test $(buildConfiguration)'
  name: testsRun
  continueOnError: true
  inputs:
    command: test    
    projects: '*Test.*/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect:"Code coverage" --no-build --no-restore'
    testRunTitle: 'run all tests'
    publishTestResults: true

Заранее спасибо!

PS - Это было давно, когда я задал вопрос здесь в прошлый раз:)

1 Ответ

1 голос
/ 18 июня 2019

Могу ли я знать следующие вопросы?

  1. Какую кодировку файла * .cs в тестовом проекте вы использовали? Вы можете использовать редактор для просмотра формата кодировки. Это должен быть UTF-8. Эта тема может быть полезна для вас.

Ошибки кодировки символов в .NET Core в Linux

  1. Является ли пул агентов (Ubuntu 16.04), вы запускаете конвейер локальной машиной Ubuntu или vm, или хост выбран из списка пулов агентов в DevOps Azure? Если это локальная машина или виртуальная машина, вам нужно проверить, поддерживает ли ОС русский язык.

Я не могу воспроизвести эту проблему. Текст отображается как читабельный. Тестовый проект был создан VS 2017. И пул агентов - это Hosted Ubuntu 1604, перечисленный в DevOps.

        Assert.Equal("здравствуй, мир!", "здравствуй, мир11!");

Пожалуйста, смотрите результат. Тест Azure PipeLine

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...