Вопрос

Я новичок в модульном тестировании. Но как мне выполнить модульное тестирование моего DAL, написанного с помощью Entity Framework, чтобы я мог убедиться, что мой код DAL работает правильно, но на самом деле ни одна база данных не затрагивается? Может ли кто-нибудь дать как можно больше подробностей, пожалуйста.

Это было полезно?

Решение

Если вы хотите проверить, правильно ли работает ваш уровень доступа к данным, вам действительно нужно в какой-то момент проверить его на базе данных, так как в противном случае вы на самом деле не тестируете его.

Другие советы

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

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

В наши дни большинство ORM предлагают какой-то язык запросов, будь то LINQ или HQL, или какой-то другой вариант. Поскольку для правильного модульного теста требуется, чтобы вы на самом деле не обращались к базе данных, вам нужно издеваться над ORM, и это самая большая боль в заднице, о которой вы только можете подумать. Это не стоит того, ИМО. В конечном итоге, вы в конечном итоге проверяете, что вы написали правильный код в своем коде; вы не получаете никакого значения регрессии и можете лучше выполнять свои задачи путем проверки кода.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top