Запуск базы данных один раз для каждого набора Spek - PullRequest
0 голосов
/ 27 июня 2018

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

Есть ли способ сделать это только один раз для всего набора Spek, который охватывает несколько файлов? Документы ничего не говорят об этом.

Кто-нибудь знает, почему это не было реализовано?

1 Ответ

0 голосов
/ 13 ноября 2018

Этот ответ не является специфичным для Spek, но объекты Testcontainers предоставляют простой метод start() и stop(), означающий, что вам не нужно полагаться на среду тестирования для управления жизненным циклом контейнера, если вы не хотите к. Вы можете создать контейнер в статическом объекте, который отделен от ваших тестовых классов, а затем, если хотите, получить к нему доступ во всех тестах.

Пожалуйста, посмотрите пример здесь ( Java пример фрагмента ниже):

static {
    GenericContainer redis = new GenericContainer("redis:3-alpine")
            .withExposedPorts(6379);
    redis.start();
}

Я бы предположил, что эквивалент в Kotlin должен быть довольно простым, как object (или подобный).

...