Гость
Map
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Тестирование Sql репозитория / 1 сообщений из 1, страница 1 из 1
28.08.2014, 05:43
    #38731086
RDS
RDS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тестирование Sql репозитория
Ребят, привет!
Сейчас пишу проект, и вот дошел до тестирования Sql репозитория. Начал думать как его тестировать, и вспомнил, что я уже тестировал что-то подобное раннее в двух других проектах, нашел их, и посмотрел...
Так вот, в одном проекте я тестировал так:
Есть сущность Department(Отдел) - агрегат;
И, например, Phone(телефон) - дочерняя сущность агрегата Department, телефоны хранятся в коллекции Department.Phones;
Создаю репозиторий SqlDepartmentRepository;
В базе данных есть две таблицы: Department и Phone;
В тестовом проекте создаю следующие классы: DepartmentData и PhoneData, которые полностью совпадают со схемой таблиц Department и Phone;
Допустим, тестирую метод Insert(Department department) класса SqlDepartmentRepository, следующим образом: создаю пустой объект Department, заполняю его фиктивными данными, и передаю методу Inserrt в качестве параметра;
В тестовом методе Dapper'ом извлекаю данные из таблиц Department(одну запись) и Phone(коллекцию записей) в соответствующие объекты DepartmentData и PhoneData;
И в конце делаю сравнение агрегата Department и с объектами данных DepartmentData и PhoneData;
В другом проекте я тестировал намного проще, рассмотри тот же пример что выше:
Допустим в репозитории SqlDepartmentRepository есть два метода Insert(Department department) и FindById(Guid idDepartment);
Создаю фиктивную сущность Department, передаю методу Insert, а потом нахожу её методом FindById и сравниваю. Если объект, который вернул нам метод FindById, равен фиктивному объекту Department, то значит репозиторий правильно записывает и правильно считывает. Вот так я тестировал сразу два метода одновременно.
Я не видел примеров где бы тестировались репозитории, и как их вообще надо тестировать(и надо ли вообще?). У меня нет в голове той информации, на которую я бы смог опираться при выборе решения. Что вы мне можете посоветовать? Как тестировать репозитории? Имеет ли право на жизнь приведенные выше два варианта? Может предложите свой?

P.S. В реализации репозитория я не использую ORM типа EntityFramework и NH. Мне очень нравится Dapper, пользуюсь теперь только им.
...
Рейтинг: 0 / 0
Форумы / Тестирование и QA [игнор отключен] [закрыт для гостей] / Тестирование Sql репозитория / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]