Как правильно выполнить юнит-тест моего DAL?
-
08-07-2019 - |
Вопрос
Я новичок в модульном тестировании. Но как мне выполнить модульное тестирование моего DAL, написанного с помощью Entity Framework, чтобы я мог убедиться, что мой код DAL работает правильно, но на самом деле ни одна база данных не затрагивается? Может ли кто-нибудь дать как можно больше подробностей, пожалуйста.
Решение
Если вы хотите проверить, правильно ли работает ваш уровень доступа к данным, вам действительно нужно в какой-то момент проверить его на базе данных, так как в противном случае вы на самом деле не тестируете его.
Другие советы
Когда я тестирую модуль DAL, я использую транзакции и откат в конце модульного теста, поэтому база данных чистая.
Модульное тестирование DAL - очень распространенная головная боль при разработке. По большей части, я предлагаю вам пропустить это. Р>
В наши дни большинство ORM предлагают какой-то язык запросов, будь то LINQ или HQL, или какой-то другой вариант. Поскольку для правильного модульного теста требуется, чтобы вы на самом деле не обращались к базе данных, вам нужно издеваться над ORM, и это самая большая боль в заднице, о которой вы только можете подумать. Это не стоит того, ИМО. В конечном итоге, вы в конечном итоге проверяете, что вы написали правильный код в своем коде; вы не получаете никакого значения регрессии и можете лучше выполнять свои задачи путем проверки кода. Р>
Я не говорю, что вам не следует проверять использование DAL; только не пытайтесь юнит-тестирование. У вас все еще должен быть набор интеграционных и приемочных тестов для вашей программы / системы; пусть те, кто занимается тестированием вашего доступа к данным, вместо этого. Р>