Я пытаюсь выполнить тестирование службы ServiceStack, используемой в кешировании памяти. Я использую MockRequestContext, и когда я попал в базу return.RequestContext.ToOptimizedResultUsingCache, я получаю исключение индекса за пределами диапазона. Я не уверен, чего не хватает. Можно ли использовать этот контекст запроса для модуляции для тестирования службы, использующей кеширование?ServiceStack MockRequestContext и кеширование
Тест Код
[TestMethod]
public void GetAgencyCase_Returns_AgencyCaseDetailsResponse()
{
var service = _container.Resolve<AgencyCaseService>();
service.SetResolver(new BasicResolver(_container));
service.RequestContext = new MockRequestContext();
var response = service.Get(new GetAgencyCase { AgencyId = 2, AgencyCaseNumber = "123" });
}
И вызов метода расширения кэша оптимизируют внутри службы я тестирую.
return base.RequestContext.ToOptimizedResultUsingCache<AgencyCaseDetailsResponse>(base.Cache, cacheKey, cacheExpireTime,() =>
{...
Трассировка стека из IndexOutOfRangeException
at ServiceStack.Common.Web.ContentType.IsBinary(String contentType)
at ServiceStack.CacheAccess.Providers.CacheClientExtensions.ResolveFromCache(ICacheClient cacheClient, String cacheKey, IRequestContext context)
at ServiceStack.ServiceHost.RequestContextExtensions.ToOptimizedResultUsingCache[T](IRequestContext requestContext, ICacheClient cacheClient, String cacheKey, Nullable`1 expireCacheIn, Func`1 factoryFn)