使用 Rhino Mocks 3.6,给定下面的代码,我希望 AssertWasCalled 断言能够通过,但事实并非如此。相反,有失败的断言消息:
“Rhino.Mocks.Exceptions.ExpectationViolationException:IBar.set_Model(7);预期 #1,实际 #0。”
尝试 IgnoreArguments() 不会更改结果,但将 IBar 属性更改为方法并断言使用参数调用该方法确实有效。
我在这里想念什么?
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Rhino.Mocks;
public interface IFoo { }
public interface IBar { int Model { get; set; } }
public class Bar : IBar { public int Model { get; set; } }
public class Foo : IFoo
{
public void MyMethod(IBar bar)
{
bar.Model = 7;
}
}
[TestClass]
public class TestFoo
{
[TestMethod]
public void MyMethod()
{
var foo = new Foo();
var mockBar = MockRepository.GenerateStub<IBar>();
foo.MyMethod(mockBar);
mockBar.AssertWasCalled(b => b.Model = 7);
}
}