Localization Azure管道-由于断言而返回的字符错误

Localization Azure管道-由于断言而返回的字符错误,localization,azure-devops,xunit,Localization,Azure Devops,Xunit,无法解决如何使用国际俄语解决我的问题,在本例中,字符是从我的解决方案ASP.NET Core 2中的xUnit测试项目返回的,该解决方案中的一个测试项目 问题是:如何使它们可读 我使用的是基于Ubuntu16.04的构建机器,上面您可能会看到断言失败的结果。有两个字符串应该比较,我甚至不知道我有什么字符串。所以我想看到的是真实的文本,而不是这些��� . 我想这也可能是测试失败的原因,因为在本地,在我的笔记本电脑上,一切都很好,我没有失败的测试。但在那里我可以看到一些额外的字符-那是什么?我不

无法解决如何使用国际俄语解决我的问题,在本例中,字符是从我的解决方案ASP.NET Core 2中的xUnit测试项目返回的,该解决方案中的一个测试项目

问题是:如何使它们可读

我使用的是基于Ubuntu16.04的构建机器,上面您可能会看到断言失败的结果。有两个字符串应该比较,我甚至不知道我有什么字符串。所以我想看到的是真实的文本,而不是这些��� .

我想这也可能是测试失败的原因,因为在本地,在我的笔记本电脑上,一切都很好,我没有失败的测试。但在那里我可以看到一些额外的字符-那是什么?我不明白

下面是从Azure-pipelines.yml在Azure管道上运行测试的部分^

- 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-上次我在这里问一个问题是很久以前的事了:

我可以知道以下问题吗

您在测试项目中使用了*.cs文件的哪种编码?您可以使用编辑器工具查看编码格式。它应该是UTF-8。这个话题可能对你有帮助。 代理池Ubuntu 16.04您运行的管道是本地Ubuntu机器还是vm,或者主机是从Azure DevOps中的代理池列表中选择的?如果是本地机器或虚拟机,您需要检查操作系统是否支持俄语语言。 我无法复制这个问题。文本显示为可读。测试项目由VS 2017创建。代理池托管在DevOps中列出的Ubuntu1604上

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

请查看结果。

非常感谢!在我以UTF8编码保存CS文件后,我通过了测试。