1

我试图断言以下被调用

cacheManager.Site[typeName] = items.Where(x => !requestContext.DefaultSites.Contains(x.SiteId)).ToList();

我无法计算出带有 args 的索引器的语法,我有这个

manager.Site.AssertWasCalled(x => x[TypeName] = Arg<IList<FcCacheObject>>.Matches(y => y.Count.Equals(1)));

但它要求索引器也使用 args,我该怎么做?

4

1 回答 1

1

这很简单:)

我假设您的索引器参数类型是string. 然后在断言而不是

x[TypeName]

采用

x[Arg<string>.Is.Equal(TypeName)]

结果你的断言应该看起来:

manager.Site.AssertWasCalled(x => x[Arg<string>.Is.Equal(TypeName)] = Arg<IList<FcCacheObject>>.Matches(y => y.Count.Equals(1)));
于 2012-12-15T19:08:57.887 回答