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