В настоящее время у меня есть набор общих тестов Scalatest, которые живут по признаку и при необходимости смешиваются с классами для тестирования, например:
trait SharedBehavior{
def supportsCoolFeature(){
//Testing happens here
}
def doesNotSupportCoolFeature(){
//Testing happens here
}
}
class MyItemTests extends SharedBehavior{
"A-Type Items" should behave like supportsCoolFeature(itemA)
"B-Type Items" should behave like doesNotSupportCoolFeature(itemB)
}
К сожалению, itemA
и itemB
являются экземплярами класса Scala, которые ссылаются на объекты, которые живут в базе данных. Чтобы запустить эти тесты, мне нужно создать соответствующие записи базы данных, а затем удалить их после теста. Как я могу эффективно использовать стратегии крепления, которые позволяют мне выполнять настройку и демонтаж с общими тестами?
Хотя это не идеально, я был бы готов принять решение, которое бы раз и навсегда завершило настройку и разборку для всего пакета. Я могу написать тесты, чтобы они не мешали друг другу, но мне нужно, чтобы БД не загромождалась со временем.