Тестовый пример интеграции с Grails сохраняет данные для исследования

Мы привыкли запускать наш интеграционный тест Grails с базой данных HSQLDB в памяти, но в момент сбоя это было трудно исследовать, поскольку данные были потеряны. Мы перешли к запуску теста с физической базой данных (postgres), и все хорошо, когда тесты пройдены. В любой момент, если тесты не пройдены, мы хотим, чтобы данные были зафиксированы в базе данных для посмертного анализа того, почему тест не пройден.

Подводя итог, мы хотим, чтобы тесты выполнялись в режиме отката до тех пор, пока тест проходит, чтобы один тест не влиял на другой тест, и при первом сбое теста фиксируйте данные в этой точке и останавливайтесь.

Мы тратим значительное количество времени на расследование сбоя интеграционного теста и хотели бы знать, есть ли у нас в Grails какая-либо возможность остановить его при первом сбое интеграционного теста с сохранением данных в базе данных для расследования. Я немного искал и не нашел подходящих указателей. Если вы следуете какой-либо другой практике для устранения неполадок интеграционного теста и стоит ли ею поделиться, сообщите нам об этом.


person Prakash    schedule 22.08.2010    source источник


Ответы (2)


Простой хак, который вы можете попробовать:

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

person Aaron Saunders    schedule 23.08.2010

Недавно я наткнулся на плагин Grails Guard Plugin и думаю, что он может быть полезен в данном случае, потому что помимо более быстрого запуска интеграционных тестов, он сохраняет данные, сохраненные после запуска тестов.

person César    schedule 27.01.2014