Здравствуйте, хотелось бы задать философоский вопрос.
Допустим, есть приложение, в котором некоторые сущности должны пройти некий воркфлоу. Соответственно, есть тесты, которые тестируют эти сущности в разных стадиях этого воркфлоу.
Т.е. Изолированные тесты должны работать с данными, которые раз за разом проходят одни и те же шаги, прежде чем станут пригодными для данного теста.
Как я решал в своих практиках:
- Вставлял в базу подготовленные данные.
- быстро
- поддержка может стать адом
- при падении теста очень тяжело разобраться в данных
- Писал гибкие скрипты, которые подготавливали данные (через api)
- очень все нативно и читабельно
- много времени занимает
Кроме того понимаю, что есть практики с дата сидингом и использованием существующих в системе данных, но эти подходы отметаю сразу.
Если кто знает другие решения или может поделиться опытом по существующим, буду благодарен.