2016-09-15 68 views
0

我试图在我们的内部TFS 2015服务器上使用新的TFS/VSTS REST API,并且无法检索测试运行,因为响应内部验证失败。来自TFS的JsonSerializationException REST API响应

使用客户端代码如下所示:

var connection = new VssConnection(serverUri), credentials); 
var client = connection.GetClient<TestManagementHttpClient>(); 
var runs = await client.GetTestRunsAsync("project", planId:183110); 

抛出使用以下信息线3a 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

感谢您的提醒!该解决方法完成了这项工作,并且现在回复已经回来。 – agc93

回答

0

如果includeRunDetails参数为true,我可以重现该问题。我报告了一个错误here,您可以投票。

解决方法是,您可以将includeRunDetails设置为false以使测试运行不包含详细信息,然后基于结果(测试运行ID)以获取您想要的详细信息的测试运行。

client.GetTestRunByIdAsync