Я новичок в модульном тестировании. Но как я могу тестировать свой DAL, который написан с помощью Entity Framework, поэтому я могу убедиться, что мой код DAL работает правильно, но база данных на самом деле не трогается? Может кто-нибудь дать как можно больше деталей, пожалуйста.Как правильно выполнить тестирование DAL?
ответ
Если вы хотите проверить, что ваш уровень доступа к данным работает правильно, вам действительно нужно протестировать его против базы данных в какой-то момент, поскольку в противном случае вы на самом деле не тестируете его.
Когда я тестирую свой DAL, я использую транзакции и откаты в конце модульного теста, поэтому db чист.
Единичное тестирование DAL - очень распространенная головная боль при разработке. По большей части, я предлагаю вам пропустить его.
Большинство ORMs в наши дни предлагают своего рода язык запросов, будь то LINQ или HQL, или какой-либо другой вкус. Поскольку для правильного модульного теста требуется, чтобы вы фактически не попали в базу данных, вы должны издеваться над ORM, и это самая большая боль в заднице, о которой вы можете думать. Это не стоит, ИМО. В конечном счете, вы только закончите тестирование, что вы написали правильный запрос в своем коде; вы не получаете никакой регрессионной ценности и можете лучше обслуживать свои цели путем проверки кода.
Я не говорю, что вы не должны проверять свое использование DAL; просто не пытайтесь тестировать устройство. У вас все равно должен быть набор интеграционных и пользовательских приемочных тестов для вашей программы/системы; пусть они обрабатывают ваш доступ к данным вместо этого.
- 1. Единичное тестирование DAL - пожалуйста, критика
- 2. Как правильно выполнить тестирование ответов RestEasy?
- 3. Тестирование модуля сгенерированным кодом DAL
- 4. Как выполнить тестирование wxPython?
- 5. Как выполнить модульное тестирование
- 6. Как выполнить нагрузочное тестирование?
- 7. Как выполнить тестирование AOP?
- 8. Как правильно выполнить тестирование услуги Angular2 http с помощью MockBackend?
- 9. Как правильно выполнить тестирование ReactDOM.render с помощью Karma и PhantomJS?
- 10. Как выполнить тестирование синхронизированного метода?
- 11. Как выполнить тестирование вашего API?
- 12. Как выполнить тестирование следующих методов?
- 13. Как выполнить тестирование этого класса?
- 14. Как выполнить тестирование функции загрузки?
- 15. Как выполнить тестирование функции Erlang?
- 16. Как выполнить тестирование SQL-запроса?
- 17. Как выполнить тестирование кода CodeIgniter
- 18. Как выполнить тестирование пользователя facebook?
- 19. Как выполнить тестирование модуля IDictionary
- 20. Как выполнить тестирование частной переменной?
- 21. Как выполнить тестирование производительности Solr?
- 22. Как выполнить модульное тестирование вручную?
- 23. Как правильно выполнить действие?
- 24. Как правильно выполнить strcmp?
- 25. как правильно выполнить запрос?
- 26. Как выполнить тестирование модулей базы данных?
- 27. Как выполнить тестирование метода извлечения данных
- 28. Как выполнить тестирование стороннего кода в nodejs?
- 29. Как выполнить тестирование производительности для webappication
- 30. Как выполнить тестирование интеграции с помощью Node.js?
+1 И если тестовая база данных не существует, нужно создать действительно (похоже, что OP обеспокоен обновлением данных). – 2008-11-21 19:24:18
Какова роль насмешки, может ли кто-нибудь объяснить использование этого в сравнении с ролью тестовой базы данных? – 2008-11-21 20:27:02