Интеграционное тестирование Grails: проблемы с получением - PullRequest
1 голос
/ 06 сентября 2010

Я пытаюсь написать простой интеграционный тест, но у меня возникли проблемы с объектами домена. Я прочитал модульное тестирование , но не могу понять.

Это мой простой тест:

    User user = User.get(1)

    controller.params.userid = "1"
    controller.session.user = user

    controller.save();

Сообщение об ошибке:

groovy.lang.MissingMethodException: Нет подпись метода: статическая com.baufest.insside.user.User.get () применимо для типов аргументов: (java.lang.Integer) значения: 1

Полагаю, я должен издеваться над объектом user, но не знаю как.

1 Ответ

3 голосов
/ 06 сентября 2010

Вы говорите, что тестируете интеграцию, но похоже, что вы юнит тестирование.Тест тестируется / интегрируется или тестируется / тестируется?Модульные тесты требуют проверки, но интеграционные тесты имеют инициализированный контекст приложения Spring и Hibernate и работают с базой данных в памяти.

Это описано в руководстве пользователя по адресу http://grails.org/doc/latest/ (вы ссылаетесь на более старую версию 1.1).

Чтобы смоделировать класс User, просто вызовите mockDomain с одним или несколькими экземплярами теста либо в setUp, либо в методе test:

def users = [new User(...), new User(...), ...]
mockDomain User, users

...

User user = User.get(1)
...