Как я могу узнать, какой тип теста выполняется?

Я написал плагин для переноса данных в mongodb, который вставляет тестовые данные в тестовый контекст (например, liquibase), но тестовые данные мешают моим функциональным тестам.

Я подумал, что вместо того, чтобы применять тестовые данные во время контекста теста, я мог бы также вставить, когда тип теста «миграция».

Как в Grails определить текущий тип выполняемого теста?

Спасибо!


person Shin    schedule 19.08.2014    source источник


Ответы (1)


Вы можете попробовать использовать переменные currentTestPhaseName и currentTestTypeName из привязки делегата (GantBinding). Если вы находитесь в _Events.groovy, вы можете получить к ним прямой доступ из закрытия мероприятия. Если вы находитесь внутри GrailsTestTypeSupport, там есть участник buildBinding.

person Martin Hauner    schedule 19.08.2014
comment
Спасибо, но я не думаю, что они существуют в 2.3. Но вы подали мне идею копнуть глубже в _GrailsTest.groovy, и кажется, что targetPhasesAndTypes существует и дает мне то, что мне нужно. - person Shin; 21.08.2014
comment
Странно, я проверил это с Grails 2.4.0, и это сработало, понятия не имею, почему у вас их нет. - person Martin Hauner; 21.08.2014