Azure管道-断言返回错误的字符

时间:2019-06-17 15:33:45

标签: localization azure-devops xunit

无法解决如何使用解决方案中的xUnit-tests项目(ASP.NET Core 2,该解决方案中的测试项目)返回的国际字符(在这种情况下为俄语)解决我的问题。

问题是:如何使其可读?

wrong characters

我正在使用基于Ubuntu 16.04的构建机,在上面您可能会看到Assert失败的结果。有2个字符串应该比较,我什至不明白我在那里有什么字符串。所以我想要的是看到真实的文本而不是这些文本。

我想这也可能是测试失败的原因,因为在本地,笔记本电脑上的一切都很好,并且我没有失败的测试。但是我可以看到其他一些字符-那是什么?听不懂...

这里是在Azure Pipeline上运行测试的部分(来自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 个答案:

答案 0 :(得分:1)

我可以知道以下问题吗?

  1. 您在测试项目中使用了哪个* .cs文件编码?您可以使用编辑器工具查看编码格式。应该是UTF-8。本主题可能对您有所帮助。

Character encoding errors with .NET Core on Linux

  1. 代理程序池(Ubuntu 16.04)是在本地ubuntu计算机还是vm上运行管道,还是从Azure DevOps的“代理程序池”列表中选择了主机?如果是本地计算机或VM,则需要检查操作系统是否支持俄语。

我无法重现此问题。文本显示为可读。该测试项目是由VS 2017创建的。代理程序池是DevOps中列出的Hosted Ubuntu 1604。

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

请查看结果。Azure PipeLine Test

相关问题