Генераторы данных в Kotest

В Kotest, широко применяемом для написания автоматизированных тестов на Kotlin, существует несколько типов генераторов данных. Давайте вкратце их рассмотрим.

Список основных типов не является большим:

  1. Arb (Arbitrary — случайный). Обеспечивает генерацию бесконечных последовательностей, из которых по дефолту в тесте будет применяться тысяча значений.
  2. Exhaustive (исчерпывающий). Выполняет полный перебор ограниченного числа значений.

Вообще, вы можете найти полный перечень генерируемых типов -- на самом деле, он достаточно велик и неплохо описан в официальной документации.

Зачем они нужны?

Главная задача генераторов — предоставить возможность по запуску Property-тестов на их основе. Есть и другая задача, являющаяся второстепенной, — генерация единичных значений. Кроме того, генераторы предоставляют широкий набор методов по модификации и настройке генерируемой последовательности.

Ниже -- пример использования Arb-генераторов для генерации случайных данных в Data-Driven тестах:

Источник: https://habr.com/ru/users/kochetkov-ma/.