2015-03-17 4 views
0

Многие из моих тестов зависят от базы данных. Я использую следующие для проверки соединения перед запуском тестового случая:. В каждом тесте базы данных Scalatest допускается наличие

assume(database.isAvailable, "Database is down") 

Когда я добавляю его в каждом тесте, правильное !!! CANCELED !!! с правильным сообщением отображается на выходе.

Когда я добавляю его в метод beforeEach:

override def beforeEach() = { 
    assume(database.isAvailable, "Database is down") 
} 

все, что я могу видеть только Exception encountered when attempting to run a suite with class name и *** ABORTED *** (на линии с assume вызова).

Должен ли я добавить это предположение к каждому тестовому регистру?

+0

Не совсем ответ, но разве вам не лучше, насмехаясь над db, а не имея его на самом деле? –

+0

Да, у меня есть два типа тестов: те, у кого макет базы данных и второй тип (интеграционные тесты), которые я хочу сделать таким образом – mirelon

ответ

1

Видимо, это что-то предназначено. См

http://www.scalatest.org/user_guide/sharing_fixtures

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

На этой же странице есть и другие альтернативы. Возможно стоит посмотреть withFixture