Скажем, у меня есть две таблицы в базе данных, одна называется students
, а другая - departments
. students
выглядит следующим образом:
department_id, student_id, class, name, age, gender, rank
и departments
выглядит следующим образом:
department_id, department_name, campus_id, number_of_faculty
У меня есть API, который может запрашивать базу данных и извлекать различную информацию из двух таблиц. Например, у меня есть конечная точка, которая может получить количество студентов в каждом кампусе, объединив 2 таблицы.
Я хочу выполнить интеграционное тестирование для конечных точек API. Для этого я создаю локальную базу данных, запускаю миграцию схем базы данных для создания таблиц, а затем заполняю каждую таблицу искусственными записями, чтобы точно знать, что находится в базе данных. Но приход с хорошим процессом посева оказался чем-то легким. Для простого примера, описанного выше, мой текущий подход включает в себя создание нескольких разных записей для каждого столбца. Например, мне нужно как минимум 2 студенческих городка (скажем main
и satellite
) и 3 отдела (скажем Electrical Engineering
и Mathematics
для кампуса main
и English
для кампуса satellite
). Тогда мне нужно как минимум 2 студента в каждом отделе или всего 6 студентов. И если я смешиваю в gender
, age
и rank
, вы можете легко увидеть, что количество искусственных записей растет экспоненциально. Придумывание всех этих искусственных записей является ручным и, следовательно, утомительным для поддержания.
Итак, мой вопрос: каков правильный способ настройки и семенной базы данных для тестирования интеграции в целом?