VSTest@2运行ADO测试时单引号显示为'的问题及解决
解决Fluent Assertions断言信息在Azure DevOps Test Plans中显示单引号为
'的问题 问题场景
我在Visual Studio中使用Fluent Assertions编写C#/Selenium自动化测试时,特意设置失败断言复现了一个显示问题:
- 在Visual Studio本地和Azure DevOps(ADO)流水线日志中,软断言的失败输出显示完全正常;
- 但在ADO的Test Plans->Runs模块里,发布的测试结果中,Fluent Assertions自动添加的单引号被解析成了HTML实体编码
',影响结果可读性。
排查结论
问题根源在于Fluent Assertions内部重写的ToString()方法没有对输出内容中的单引号进行转义处理,导致ADO的Test Plans模块在渲染测试结果时,将未转义的单引号当成了HTML特殊字符进行编码。
解决方法
通过以下两种方式可解决该问题:
- 移除单引号:修改Fluent Assertions的输出逻辑,去掉自动添加的单引号;
- 转义单引号:在Fluent Assertions的
ToString()重写逻辑中,将单引号转义为符合HTML渲染要求的格式(例如替换为\'或直接转换为')。
内容的提问来源于stack exchange,提问作者Chris LaVenture
相关产品推荐
相关产品推荐

