давайте рассмотрим практический пример: я пишу rest-api, который будет принимать продукты, их наличие на складах.
если продукт есть, то просто обновляю его цены и наличие (по партиям: на разных складах - разные)
если продукта нет, то создаю его и создаю партии продуктов
вот мне нужно все эти кейсы протестировать, что бы корректно сохраняло.
как я вижу варианты:
1. мокать модели, и проверять, что модели сохранились и были вызваны соответствующие методы (create / update)
2. создаю отдельный sql файл. и в нем описываю данные для 3х таблиц (продукты, склады, партии продуктов) - скармливаю этот файл mysql-ю
до и после выполнения каждого теста.
2-й вариант я боюсь, в перспективе раздует тесты до нескольких часов + поддержка фикстур, это трындец как затратно будет.
1-й вариант - я боюсь, что тесты будут не надежные. и например, как протестировать корректно то, что правильно сохранились отношения между моделями?