JsonSerializationException из ответа TFS REST API

Я пытаюсь использовать новые API REST TFS/VSTS с нашим локальным сервером TFS 2015 и не могу получить тестовые прогоны, так как ответ не проходит внутреннюю проверку.

Используя клиентский код, подобный следующему:

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

выдает JsonSerializationException в строке 3 со следующим сообщением:

Required property 'environmentName' not found in JSON. Pathvalue[0].testEnvironment', line 1, position 582.

что точно. Проверка ответа в Fiddler показывает, что свойство testEnvironment имеет только свойство environmentId, а не name. Я загрузил урезанный образец ответа на эту суть.

Мой вопрос: почему TFS не возвращает это значение или, альтернативно, есть ли способ заставить API SDK игнорировать эту ошибку проверки?


person agc93    schedule 15.09.2016    source источник
comment
Вы проголосуете за этот отзыв и выполните свое требование с помощью моего обходного пути?   -  person starian chen-MSFT    schedule 21.09.2016
comment
Спасибо за напоминание! Этот обходной путь сработал, и теперь приходят ответы.   -  person agc93    schedule 22.09.2016


Ответы (1)


Я могу воспроизвести эту проблему, если параметр includeRunDetails имеет значение true. Я сообщил об ошибке здесь, за которую вы можете проголосовать.

Обходной путь заключается в том, что вы можете установить для includeRunDetails значение false, чтобы запускать тесты без включения подробностей, а затем основываться на результате (идентификаторе тестового прогона), чтобы получить тестовый прогон с нужными вам подробностями.

client.GetTestRunByIdAsync
person starian chen-MSFT    schedule 15.09.2016