我正在尝试将新的TFS / VSTS REST API与我们的本地TFS 2015服务器一起使用,并且由于响应未通过内部验证而无法检索测试运行。
使用以下客户端代码:
var connection = new VssConnection(serverUri), credentials);
var client = connection.GetClient<TestManagementHttpClient>();
var runs = await client.GetTestRunsAsync("project", planId:183110);
在第3行引发JsonSerializationException
,并显示以下消息:
Required property 'environmentName' not found in JSON. Pathvalue[0].testEnvironment', line 1, position 582.
这是准确的。检查Fiddler中的响应表明testEnvironment
属性只有environmentId
属性,没有name
。我已将回复的修整样本上传到this gist。
我的问题是为什么TFS不会返回此值,或者有没有办法强制API SDK忽略此验证错误?
答案 0 :(得分:0)
如果includeRunDetails参数为true,我可以重现该问题。我报告了一个错误here,你可以投票。
解决方法是你可以将includeRunDetails设置为false以获得没有详细信息包含的测试运行,然后根据结果(测试运行ID)来获得包含所需详细信息的测试运行。
client.GetTestRunByIdAsync