var fakeRoles = MockRepository.GenerateStub < IDictionary<PermissionLevel, string>>();
fakeRoles[PermissionLevel.Developer] = "Developer";
fakeRoles[PermissionLevel.DeveloperManager] = "Developer Manager";
这特定于该方法正在调用的内容,并且与我的单元测试无关。 我宁愿这样做:
fakeRoles.Stub(r => r[PermissionLevel.None]).IgnoreArguments().Return("Developer");
但我得到一个例外,告诉我直接设置属性。有没有办法告诉rhino只返回给予此存根IDictionary
的任何键的相同值?
答案 0 :(得分:2)
你要做的不是存根(在RhinoMock的理解中),你必须创建一个模拟:
var fakeRoles = MockRepository.GenerateMock < IDictionary<PermissionLevel, string>>();
fakeRoles.Expect(r => r[PermissionLevel.None]).IgnoreArguments().Return("Developer");