Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Rhino mocks资产通过索引器和args调用_C#_Unit Testing_Rhino Mocks_Rhino Mocks 3.5 - Fatal编程技术网

C# Rhino mocks资产通过索引器和args调用

C# Rhino mocks资产通过索引器和args调用,c#,unit-testing,rhino-mocks,rhino-mocks-3.5,C#,Unit Testing,Rhino Mocks,Rhino Mocks 3.5,我试图断言,以下是一个被称为 cacheManager.Site[typeName] = items.Where(x => !requestContext.DefaultSites.Contains(x.SiteId)).ToList(); 我无法计算带有args的索引器的语法,我有这个 manager.Site.AssertWasCalled(x => x[TypeName] = Arg<IList<FcCacheObject>>.Matches(y =&

我试图断言,以下是一个被称为

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)));
manager.Site.AssertWasCalled(x=>x[TypeName]=Arg.Matches(y=>y.Count.Equals(1));
但是它要求索引器也使用args,我该怎么做呢?

非常简单:)

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

x[TypeName]
使用

x[Arg.Is.Equal(TypeName)]
因此,您的断言应该如下所示:

manager.Site.AssertWasCalled(x => x[Arg<string>.Is.Equal(TypeName)] = Arg<IList<FcCacheObject>>.Matches(y => y.Count.Equals(1)));
manager.Site.AssertWasCalled(x=>x[Arg.Is.Equal(TypeName)]=Arg.Matches(y=>y.Count.Equals(1));
很简单:)

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

x[TypeName]
使用

x[Arg.Is.Equal(TypeName)]
因此,您的断言应该如下所示:

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

您使用的是模拟还是存根?显示您尝试测试的方法的完整签名以及测试设置代码会有所帮助。您使用的是模拟还是存根?显示您尝试测试的方法的完整签名以及测试设置代码将有所帮助。