Как моя голова все ударилась, пытаясь найти интерфейс ниже. GetOrSet заставил меня сработать. Услуга происходит от hereMock Lambda Parameterless Expression
public interface ICacheService
{
T GetOrSet<T>(string cackeKey, int expiryInMinutes, Func<T> getItemCallback) where T : class;
}
public class CacheService : ICacheService
{
public T GetOrSet<T>(string cacheKey, int expiryInMinutes, Func<T> getItemCallback) where T : class
{
T item = MemoryCache.Default.Get(cacheKey) as T;
if (item == null)
{
item = getItemCallback();
MemoryCache.Default.Add(cacheKey, item, DateTime.Now.AddMinutes(expiryInMinutes));
}
return item;
}
}
Пример в коде:
var result = _cacheService.GetOrSet(
cacheKey,
cacheExpiry,
() => this.GetRoutes(routeType));
return result.Select(x => new Route(x));
Что вы думаете? – stuartd
Вопрос в том, как moq, что метод GetOrSet. –
gnome
Что делать? Вы можете легко настроить его, например: 'mock.Setup (m => m.GetOrSet (" key ", 1,() => new TestClass());' – stuartd