如何将TcUnit测试Beckhoff TwinCAT PLC的结果上传至Azure DevOps?
TwinCAT PLC项目TcUnit测试结果上传Azure DevOps的可行方案
一、简便转换方案(无需大量编码)
- TcUnit默认支持导出XML格式的测试报告,你可以用轻量级脚本(比如PowerShell、Python)把这个XML转成Azure支持的JUnit格式。逻辑很简单:读取TcUnit输出里的测试用例名、状态(通过/失败)、执行时间这些核心字段,按JUnit的XML结构重新生成文件就行。
- 不用自己从零写脚本,TcUnit社区里已经有开发者分享过现成的转换工具,直接拿来用就行。
二、自定义生成兼容格式
如果需要更灵活的控制,也可以改TcUnit的代码让它直接输出Azure兼容的格式:
- TcUnit是开源的,你可以在PLC代码层面扩展测试报告的生成逻辑,测试结束后直接输出JUnit或者TRX格式的文件。
- 这种方式适合需要给测试结果加额外元数据(比如PLC版本、测试环境信息)的场景。
三、Azure DevOps的自定义读取方式
Azure DevOps没有直接支持TcUnit格式的内置任务,但可以通过以下方式绕开:
- 用PowerShell或Bash任务:在调用
PublishTestResults之前,先跑脚本把TcUnit的原始结果转成兼容格式,再用内置任务上传。 - 做自定义Azure DevOps扩展任务:如果团队经常用TcUnit,可以开发一个专门的扩展任务,把格式转换和结果上传整合到一起,发布到Azure DevOps Marketplace方便团队复用。
内容的提问来源于stack exchange,提问作者PaulBarron
相关产品推荐
相关产品推荐

