Я написал модуль в Python, который считывает пару таблиц из базы данных с помощью метода pd.read_sql
, выполняет некоторые операции с данными и записывает результаты обратно в ту же базу данных с помощью метода pd.to_sql
.
Теперь мне нужно написать модульные тесты для операций, задействованных в вышеупомянутом модуле. Например, один из тестов проверяет, является ли фрейм данных, полученный из базы данных, пустым, другой проверяет правильность типов данных et c. Как для таких тестов создать образцы данных, отражающие эти ошибки (например, пустой фрейм данных, неправильный тип данных)? Для других модулей, которые не выполняют чтение / запись из базы данных, я создал один образец файла данных (в CSV), прочитал данные, произвел необходимые манипуляции и протестировал различные функции. Для модуля, связанного с операциями с базой данных, как мне (и, что более важно, где мне) создать образцы данных?
Я надеялся создать локальный файл данных (как я делал для тестирования других модулей), а затем прочтите, используя метод read_sql
, но это не представляется возможным. Создание локальной базы данных с использованием postegre sql et c возможно, но такие тесты не могут быть развернуты на клиентах, не требуя от них создания таких же локальных баз данных.
Правильно ли я думаю о проблеме или чего-то не хватает?
Спасибо