У меня есть этот простой метод, который вызывает API TFS (сервер Team Foundation) для получения объекта WorkItemCollection.Я только что преобразовал в класс сущности, а также добавил его в кеш.Как видите, это очень просто.
Как мне провести модульное тестирование этого метода.Единственное, что важно, это вызов API TFS.Стоит ли тестировать такие методы?Если да, то как мы должны это проверить?
Один из способов, которым я могу подумать, - это смоделировать вызов Query.QueryWorkItemStore (query) и вернуть объект типа «WorkItemCollection» и посмотреть, наконец, этот метод преобразует «WorkItemCollection».к списку.И проверьте, был ли он добавлен в кеш или нет.
Кроме того, поскольку я использую шаблон внедрения зависимостей, она вводит зависимость для
Должен ли я передавать только зависимость по ложному типу (используя MOQ) или я должен передавать правильный тип класса.
public virtual List<Sprint> Sprint(string query)
{
List<Sprint> sprints =
Cache.Get<List<Sprint>>(query);
if (sprints == null)
{
WorkItemCollection items =
Query.QueryWorkItemStore(query);
sprints = new List<Sprint>();
foreach (WorkItem i in items)
{
Sprint sprint = new Sprint
{
ID = i.Id,
IterationPath = i.IterationPath,
AreaPath = i.AreaPath,
Title = i.Title,
State = i.State,
Goal = i.Description,
};
sprints.Add(sprint);
}
Cache.Add(sprints, query,
this.CacheExpiryInterval);
}
return sprints;
}