TFS REST API的outcomes参数无法筛选测试结果问题咨询
解决TFS REST API 2.0获取仅失败测试结果的问题
我之前也踩过TFS API版本差异的坑,给你几个针对性的排查和解决方向:
1. 先明确:2.0版本不支持outcomes参数
你提到的outcomes专属参数其实是在API 3.0及以上版本才引入的,2.0版本里这个参数根本不生效,这就是为什么你加了之后还是返回所有结果的核心原因。
2. 改用OData $filter实现过滤
在TFS API 2.0中,要筛选失败的测试结果,得用OData的$filter参数来指定条件。正确的请求格式应该是这样的:
GET https://<server>/tfs/<collection>/<project>/_apis/test/runs/{runId}/results?$filter=Outcome eq 'Failed'&api-version=2.0
这里要注意两个细节:
Outcome字段的取值是大小写敏感的,必须和返回结果里的完全一致(比如是Failed而不是failed)- 一定要明确指定
api-version=2.0,避免服务器默认使用其他版本的API
3. 验证过滤条件的准确性
如果还是没生效,可以先不带过滤参数发起请求,查看返回的测试结果中失败项的Outcome字段具体值是什么。有些特殊环境里可能返回的是FailedTest这类非标准值,这时候就要调整过滤条件里的取值。
4. 确认请求端点的正确性
检查你请求的是不是测试运行结果的正确端点:/_apis/test/runs/{runId}/results,别误用到测试计划、测试套件这类相关但不同的端点上。
内容的提问来源于stack exchange,提问作者WietzeVeld
相关产品推荐
相关产品推荐

