Понимание метакласса в тестах Grails - PullRequest
0 голосов
/ 24 февраля 2011

В настоящее время я изучаю Grails и прорабатываю руководство по тестированию.

Приведен пример, который охватывает написание теста для этого фрагмента кода в вымышленном BookController:

def show = {
    [ book : Book.get( params.id ) ]
}

В руководстве предлагается следующий подход для извлечения результата params.id:

void testA() {
    BookController.metaClass.getParams = {-> [id:10] }
}

Поскольку это изменение статического определения BookController, делаетэто сохраняется между тестами, или магия Grails каким-то образом автоматически очищается в методе tearDown?

т.е. если бы я должен был написать следующий тест, который пропустил настройку metaClass.getParams и выполнялся после testAparams.id все еще вернется 10?

Если да, то какова стандартная практика грааля для очистки при тестовом разрыве?Это не отражено в руководстве, которое я читаю.

1 Ответ

0 голосов
/ 24 февраля 2011

Вы используете древнюю версию документации, охватывающую 1.0.x.Поддержка тестирования стала более надежной, поэтому смотрите обновленную главу 9 в http://grails.org/doc/latest/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...