К примеру есть классы с такими extension методами:
IQueryable
Или элементарный Linq запрос (в другом классе):
_repository.Query
Каждый раз в тестовом методе заполнять список с UserEntity делать AsQueryable() уж очень долго.
Как вариант рассматриваю сделать какой нибудь набор данных всех сущностей с разными свойствами. Но это тоже долго и усложняет чтение тестового кода, т.к. придется находить место где сущности перечислены, искать нужную с нужными параметрами и только потом сравнивать его свойства.
Подскажите как правильно поступить? Или я иду в направлении интеграционных тестов и DAL вообще не стоит трогать?
Ответ
Каждый раз в тестовом методе заполнять список с UserEntity делать
AsQueryable() уж очень долго.
Именно так и надо делать. В результате вы получите юнит-тесты в чистом виде, без сторонней зависимости в виде БД. И это не должно быть долго, поскольку набор входных данных должен получаться небольшой, если тестовые методы у вас достаточно хорошо разбиты по соответствуют отдельным кейсам.
Или я иду в направлении интеграционных тестов и DAL вообще не стоит
трогать?
Тесты всякие нужны, тесты всякие важны. И на DAL в т.ч. Просто если у вас нет в БД никакой логики, то тогда вы сможете замокать ее, и получить чистые юнит-тесты. Если же в БД есть логика, то придется делать и интеграционные тесты (тут, впрочем, можно подискутировать на тему того, стоит ли тестировать БДшный код из тестов приложения или иметь отдельные тесты для процедур).
Комментариев нет:
Отправить комментарий