Фабрики тестов в Kotest | OTUS

Фабрики тестов в Kotest

Давайте представим, что нам в каждом тесте надо выполнять одинаковые действия для подготовки окружения: наполнять базу данных, очереди и конфигурацию на файловой системе. Разумеется, очень хочется сделать шаблон теста с понятным названием, возможно, даже с описанием в виде javadoc/kdoc, ну и несколькими аргументами, к примеру именем/паролем тестового пользователя. В Kotest данный подход называют Test Factories. Его использование позволит вам вставлять куски тестов в корневой тест.

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

При этом чрезвычайно важно не нарушать читабельность теста применением шаблонов. Рассмотрим основные рекомендации:

  • имя шаблона должно быть понятным, иметь описание, плюс также должно быть описание всех параметров;
  • шаблон должен выполнять лишь одну функцию, к примеру, настройку БД (вспоминаем принцип единственной ответственности);
  • шаблон должен быть описан в стиле BDD;
  • нежелательно, чтобы шаблон был слишком абстрактным.

Что касается непосредственной реализации в Kotest, то давайте приведем пример кода с соответствующими пояснениями. Ниже -- 2 вида фабрик тестов: TestFactory и scope-функции:

1-1801-c0df23.png

По материалам https://habr.com/ru/company/nspk/blog/520380/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто