Я настраиваю модульный тест и у меня возникают проблемы. Я видел примеры "Привет, мир", однако мой тип возврата более сложный.
Мой контроллер возвращает список объектов. Я получаю обратно объект с массивом объектов, как показано ниже:
Public Class ItemClass
{
public int Id,
public string Name
}
Public ContentResult GetItems(string criteria){
.
.
.
// List<ItemClass> myItemClass (this will containa list of several ItemClass)
// ItemInfo myItemInfo (this will contain a single object similar to the return data I have outlined below)
var model = new { ItemsList = myItemList, ItemInfo = myItemInfo}
return Content( [here i convert my `model` to json data]);
};
.
.
.
//TestMethod starts here:
//setup code
//act
var result = controller.GetList(criteria)
//assert
//this is where I'm having trouble
// result.content looks like this: "{"\"itemList\":[{\"id\":1,\"name\":\"Item 1 Name\"},{\"id\":2,\"name\":\"Item 2 Name\"}],"listInfo":{"info1":1,"info2":"bla"}}"
Как я могу десериализовать result.content в список типа ItemClass
, чтобы я мог делать утверждения против него? Например, я хотел бы заявить, что результат не равен нулю, что в результате имеется 2 элемента, и я также хотел бы проверить наличие в результате указанных идентификаторов c. Если есть лучший способ сделать этот тип теста, я открыт для предложений.