Каковы стандартные / лучшие практики для создания модульные тесты на функциональность с использованием баз данных?

Я понимаю идею модульного тестирования, однако пытаюсь придумать простой способ сделать это, когда это требует функциональности базы данных. Например, у меня есть функция, которая возвращает результат на основе запроса выбора базы данных. Должна ли база данных всегда оставаться для меня неизменной, чтобы правильно видеть, что возвращаются только правильные результаты. Каков наилучший способ выполнения модульного тестирования (в PHP), когда требуется неактивность базы данных (будь то чтение, запись, обновление или удаление)?

15
задан ryanzec 24 August 2010 в 19:11
поделиться

3 ответа

В руководстве по PHPUnit есть целая глава:

Это похоже на все остальное при модульном тестировании. Создайте известное состояние и сравните с ним свой код, чтобы убедиться, что он возвращает ожидаемые результаты.

14
ответ дан 1 December 2019 в 03:33
поделиться

Это не модульный тест, если ему нужна база данных.

3
ответ дан 1 December 2019 в 03:33
поделиться

Лично я создаю фиктивную тестовую базу данных и заполняю ее известным набором данных для каждого запуска тестирования (я делаю это прямо в функциях setUp). Затем тесты выполняются с этим набором данных, а затем он удаляется на tearDown...

Теперь это больше похоже на интеграционный тест, чем на модульный test, запускаемый по собственному расписанию вместе с другими интеграционными тестами), но все же весьма полезный.

4
ответ дан 1 December 2019 в 03:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: