Я пытаюсь выполнить единичный тест в списке действий контроллера. Вот код для тестирования:Контроллер блока тестирования в графе
void testListAction()
{
ac = new AddressesController();
def org = new Organizations(viewAllPost: true);
mockForConstraintsTests(Addresses);
def a = new Addresses(firstLine:'A', secondLine:'B', thirdLine:'C', luCountry:UnitedStates, zipCode:'12345', luState:Florida, city:'jag');
assertTrue(a.validate());
mockSession['currentUserOrganizationId'] = org;
mockDomain(Addresses, [
new Addresses(firstLine:'A1', secondLine:'B', thirdLine:'C', luCountry:UnitedStates, zipCode:'12345', luState:Florida, city:'jag'),
new Addresses(firstLine:'A2', secondLine:'B2', thirdLine:'C2', luCountry:UnitedStates, zipCode:'12344', luState:Florida, city:'jag2')
]);
def model = ac.list();
assertEquals(2, model.postInstanceList.size());
}
Но как бы я ни старался, я всегда получаю обратно тот же результат, что model.postInstanceList является недействительным и не может вызвать метод размера на нем. Что я здесь делаю неправильно?
Некоторые указатели - Вам не нужно создайте экземпляр контроллера. Предполагая, что ваш тестовый класс называется AddressControllerTests, экземпляр AddressController уже должен быть доступен через переменную 'controller'. Кроме того, я бы не тестировал размер модели, я бы протестировал ответ; controller.response. ???. Контрольные контроллеры, вы хотите проверить ответ, который вы вернетесь. – Gregg
Это оба правильные указатели. Мне нужно проверить фактическое содержимое в списке, но в первую очередь я просто тестировал, если список получил правильный размер или нет, что должно быть проще. И даже это не работает. –