我想跟踪Rhino Mocks调用方法。假设我有这样的代码:Rhino Mocks,VerifyAllExpectations
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因为犀牛嘲笑框架检测2不同的C-类。
如果被测主体在被测方法中创建了对象参数,我该如何检查该调用?有没有机会告诉Rhino Mocks检查参数为“Equals”?
谢谢!
嗨,编译器说:“不能将lambda表达式转换为类型'Rhino.Mocks.Constraints.AbstractConstraint',因为它不是委托类型。”指向“x => x.Name =”myname“” – Jordi
将赋值equals(=)固定为比较(==)。 –
仍然是同样的问题。我错过了什么? http://imageshack.us/f/708/errorah.png/ – Jordi