Интересный вопрос.Я собираюсь сделать несколько предположений в своем ответе, поэтому просмотрите их и дайте мне знать, если какие-либо из них неверны.
- Вы являетесь частью команды разработчиков.
- В клиентесреде, если запись не существует во время выполнения миграции, то это ошибка в среде.
- Вы явно не тестируете эту миграцию в этом тесте.
Итак, во-первых, в моей голове прозвенели несколько тревожных звонков.По сути, вы говорите, что ваша тестовая среда не соответствует среде клиента.Это, конечно, не обязательно проблема, но убедитесь, что ваша тестовая среда достаточно репрезентативна для среды заказчика, чтобы тесты были значимыми.
В идеальной ситуации я бы избежал ошибки, обеспечивчто в вашей фальшивой среде есть запись, необходимая для миграции.Таким образом, вы также выполняете миграцию во время ее выполнения.
Предоставляете ли вы поддельную базу данных, например, базу данных в памяти для тестов?Если это так, просто добавьте запись при запуске базы данных, чтобы можно было запустить миграцию.
Вы издеваетесь над вызовами в базу данных?Если да, пытались ли вы посмеяться над вызовом этой функции и по сути сделать ее неактивной?