Задача
Каждый автоматизатор сталкивается с задачей генерации тестовых данных. Кто-то генерит их в полуручном режиме (раз, два, три). Кто-то использует различные библиотеки (раз, два, три, четыре). А кто-то вообще не парится и хардкодит данные прямо в тестах. Я же хочу поделиться своим “велосипедом”.
Решение
Cases библиотека для генерации тестовых данных. Понятное дело, что мне не хватало именно такой библиотечки . Она предоставляет всего 4 основных метода:
- cases.get_each_choice
- cases.get_negative
- cases.get_pairwise
- cases.get_one
Здесь можно посмотреть примеры. Все методы, кроме последнего, возвращают генератор, который, в свою очередь, будет возвращать набор объектов. Каждый из объектов представляет 1 тестовый случай. Для генерации тестовых случаев используется дефолтный класс. При желании можно использовать свой класс, передав его первым аргументом в любой из методов.
На текущий момент реализация “устаканилась”. Пришла пора поделиться с сообществом и получить обратную связь.