модульное тестирование с откатом по базе данных - PullRequest
2 голосов
/ 08 декабря 2010

Я только начинаю понимать важность модульного тестирования в среде c #. Теперь мне интересно, как мне реализовать модульный тест черного ящика, который вставляет, удаляет и обновляет базу данных, а затем очищает данные после успешного теста.

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

пожалуйста, направь меня, я ценю это. спасибо!

Ответы [ 4 ]

5 голосов
/ 08 декабря 2010

Что мы делаем здесь, в нашем цикле разработки.у нас всегда есть это модульное тестирование и нагрузочное тестирование, когда мы разрабатываем приложение.Поэтому мы создаем столбец в таблице каждой нашей базы данных с помощью userId или else.Затем, когда мы запускаем Load Test или Unit test, мы вставляем UserId -1 в каждый столбец, указывая, что это данные нагрузочного теста и -2 в случае данных Unit Test.тогда у нас есть предварительно Определить задания на конце базы данных, которые через некоторое время очистят эти данные.

3 голосов
/ 08 декабря 2010

Пока ваш тест лаконичен, и я предполагаю, что это должно быть - для тестирования вашего DAL, почему бы просто не вставить / обновить / удалить в транзакцию, которая откатывается после завершения теста.

Другой вариант - просто использовать определенные сценарии обновления / удаления в методах очистки теста, чтобы выполнить откат точных изменений, которые вы обновили / вставили, до их значений перед тестом.

1 голос
/ 08 декабря 2010

Я думаю, что удаление строк в методе CleanUp должно быть хорошим выбором.

Таким образом вы всегда будете тестировать код удаления строк.

0 голосов
/ 08 декабря 2010

Одним из вариантов является использование базы данных Mock вместо реальной базы данных. Вот ссылка , которая описывает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...