Просто, если кто-то вроде меня все еще занимается этой проблемой и ищет способ отката после каждого тестового сценария, ниже приведено решение, которое работает (благодаря блогу Берта Беквита).
Завершение каждого сценария тестирования easyb в блок с транзакцией и откат вручную в конце
scenario "add person should be successful", {
Person.withTransaction { status ->
given "no people in database", {
}
when "I add a person", {
Person.build()
}
then "the number of people in database is one", {
Person.list().size().shouldEqual 1
}
status.setRollbackOnly()
}
}
scenario "database rollback should be successful", {
given "the previous test created a person", {
}
when "queried for people", {
people = Person.list().size()
}
then "the number of people should be zero", {
people.shouldEqual 0
}
}
Вышеуказанный тест успешно пройден.
Пожалуйста, напишите, если у вас есть лучшее решение проблемы