Я пытаюсь настроить модульное тестирование для проекта с использованием Dapper.Код Dapper используется исключительно для вызова процедур с одним или несколькими параметрами.
Пример метода:
public MemberInformationView GetMemberInformation(string personnumber, int? regionId)
{
IEnumerable<Get_Member_Info_Item> dataQuery = null;
using (IDbConnection db = _ContextFactory.GlobalDatabaseProvider.Context)
{
dataQuery = db.Query<Get_Member_Info_Item>(
"[repository].[Get_Member_Info]",
new
{
@Personnummer = personnumber,
@Region_ID = regionId
},
commandType: CommandType.StoredProcedure
);
}
MemberInformationView result = null;
if (dataQuery?.Any() == true)
result = MapMemberInfoToView(dataQuery);
return result;
}
MapMemberInfoToView () просто преобразует объект базы данных в модель открытого представления, которую можно передатьвкл.
_ContextFactory.GlobalDatabaseProvider
- интерфейс, который можно смоделировать.Я склоняюсь к тому, могу ли я поймать имя процедуры и параметры и проверить, чтобы они были в порядке, и вернуть результат, если это имя процедуры вызывается, чтобы проверить, что отображение работает нормально.Но я не уверен, что это правильный подход.Похоже, что полный интеграционный тест - это единственное, что даст правильный ответ, если метод правильный или нет.
Так как же мне провести модульное тестирование?