org.scalatest: глобальная настройка (например, beforeAllSuites?) - PullRequest
10 голосов
/ 13 декабря 2011

У меня есть приложение scala с некоторым тестом, использующим org.scalatest.Этим тестам нужна глобальная настройка (и разборка) для управления тестовой базой данных.

Пожалуйста, не говорите, что мои тесты не должны попадать в базу данных, и я должен сделать это Java-DAO-Stub-WTF-Overkill-Way ™: -).

Я запускаю тесты, используя SBT, который предоставляет способ выполнения кода до и после теста:

    testOptions in Test += Tests.Setup( () => println("Setup") )

    testOptions in Test += Tests.Cleanup( () => println("Cleanup") )

К сожалению, я не могу получить доступклассы, о которых идет речь, есть.Неудивительно, что импорт их в build.sbt тоже не работает.

Есть идеи?

1 Ответ

4 голосов
/ 14 декабря 2011

Вы можете использовать черты BeforeAndAfterAll или BeforeAndAfter , в зависимости от ваших потребностей.

BeforeAndAfterAll:

Черта, которая может быть смешана в наборы, которые требуют методов, вызываемых ранее и после выполнения набора. Эта черта позволяет выполнять код до и / или после всех тестов и вложенных наборов бежать.

Таким образом, в этом случае вы должны определить MasterSuite, который содержит все другие комплекты / тесты, которые расширяют эту черту.

BeforeAndAfter:

Черта, которая может быть смешана в наборы, которые требуют кода, выполненного ранее, и после запуска каждого теста. Эта черта облегчает стиль тестирования в какие изменяемые объекты фикстуры, содержащиеся в переменных экземпляра, заменяются или повторно инициализируется перед каждым тестом или набором.

...