期望具有确切值的呼叫的RhinoMocks

时间:2010-07-19 12:34:21

标签: rhino-mocks constraints

有时候Rhino.Mocks让我很生气,因为我认为没有足够的主题文档相对容易。

我想要做的是期待调用AddContact(“test”,contact)。所以对于第二个参数,我必须使用参数约束Property.AllPropertiesMatch(contact)。但是我应该为第一个使用什么?

_contactManagerMock
    .Expect(m => m.AddContact(null, null))
    .Constraints(??????????, Property.AllPropertiesMatch(contact));

什么不是“???????????”

1 个答案:

答案 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网站上的更多信息。