Выполнение любого вида тестов на производственном сервере, как правило, плохая идея (если только это не производственное оборудование, которое еще не было введено в эксплуатацию).
Юнит-тест не затрагивает базу данных (или любую другую).другая внешняя система).Итак, чтобы создать модульный тест, вам необходимо удалить зависимость от базы данных.
То, что вы называете «модульным тестом», вероятно, является интеграционным тестом.Любой тест, использующий внешнюю систему (например, базу данных, файловую систему и т. Д.), Является интеграционным тестом.
Два общих решения вашей проблемы:
Вв начале теста восстановите резервную копию базы данных, содержащей известные данные, в отдельную тестовую базу данных, а затем выполните ее тесты на ее основе.
Использование «фиксированной» известной тестовой базы данных в началекаждого теста запускайте транзакцию, выполняйте тест и затем откатывайте транзакцию, чтобы оставить базу данных в том же известном состоянии.
(№ 1 часто предпочтительнее, так как база данных в (2) может стать «загрязненным»).