Использование MSTest, когда я пытаюсь запустить тест с типом динамических данных, который является контейнером объекта JSON (из запроса API) I чтобы иметь возможность разыгрывать элементы JSON в комментариях ниже, но это не удается, поскольку, рассматривая его как коллекцию элементов, кажется, что это нормально. Если «проверка» (jsonResponse.message) «имеет значение« Привет », но он не будет работать в модульном тесте. Почему?Тестирование модуля Как я могу десериализовать объект JSON в динамическом объекте с помощью json-net
// http://www.newtonsoft.com/json/help/html/LINQtoJSON.htm // Deserialize json object into dynamic object using Json.net
[TestMethod]
public void DynamicDeserialization()
{
dynamic jsonResponse = JsonConvert.DeserializeObject("{\"message\":\"Hi\"}");
JObject d = JObject.Parse("{\"message\":\"Hi\"}");
Assert.IsTrue((string)d["message"] == "Hi"); // Is ok
// Assert.IsTrue(jsonResponse.message.ToString() == "Hi"); // is not ok
}
Определение «не будет работать» - вы получаете исключение? Если да, то что говорит сообщение об исключении? Если нет, то какое поведение вы наблюдаете и как это отличается от того, что вы ожидали? –
Некомментированная последняя строка, запуск кода и проверка работы/передачи. В чем проблема. если вы посмотрите на 'jsonResponse' во время отладки, вы увидите, что это' JObject', также завернутый как 'dynamic'. – Nkosi