我希望用Rhino Mocks追踪方法的调用。 我们假设有这段代码:
public class A
{
protected IB _b;
public A(IB b)
{
_b = b;
}
public void Run( string name )
{
_b.SomeCall(new C { Name = name });
}
}
public interface IB
{
void SomeCall( C c );
}
public class C
{
public string Name { get; set; }
// more attributes here
}
测试如下:
// prepare
var bMock = Rhino.Mocks.MockRepository.GenerateStrictMock<IB>();
bMock.Expect(x => x.SomeCall(new C { Name = "myname" }));
var sut = new A(bMock);
// execute
sut.Run("myname");
// assert
bMock.VerifyAllExpectations();
测试失败并抛出ExpectedViolationException异常,因为Rhino Mocks框架检测到2个不同的C类。
我如何检查被测试对象是否在测试方法中创建了参数对象?有没有可能告诉Rhino Mocks将参数检查为“相等”?
非常感谢!