有时候Rhino.Mocks让我很生气,因为我认为没有足够的主题文档相对容易。
我想要做的是期待调用AddContact(“test”,contact)。所以对于第二个参数,我必须使用参数约束Property.AllPropertiesMatch(contact)。但是我应该为第一个使用什么?
_contactManagerMock
.Expect(m => m.AddContact(null, null))
.Constraints(??????????, Property.AllPropertiesMatch(contact));
什么不是“???????????”
答案 0 :(得分:1)
我也在寻找这个,这是一个更详细的答案。
这是如何在Rhino.Mocks中使用AllPropertyMatch的示例。我在Rhino.Mocks 3.6中测试了这个。
//arrange
var contactManagerMock = MockRepository.GenerateMock<IManager>();
contactManagerMock.Expect(m => m.AddContact(
Arg.Is("test"),
Arg<Contact>.Matches(Property.AllPropertiesMatch(contact))))
//Act
//Perform action here that should result in the above expected call
//Assert
contactManagerMock.VerifyAllExpectations();
这表示期望调用AddContact方法。第一个参数应该是值为'test'的字符串,第二个参数应该是Contact类型的对象,它具有与contact实例相同的所有属性。 调用VerifyAllExpectations执行断言。
Rhino.Mocks网站上的更多信息。