我正在寻找如何将一个函数作为参数发送给另一个函数,并断言在通过某些验证之后将调用“作为参数传递的函数”。
例如,
public class DomainLogic
{
public virtual void SetPayload(ViewPayload payload, Func<CommandData, bool> filterApplier)
{
//some validation
..............
filterApplier();
}
}
[Test]
public void Test_SetPayload()
{
DomainLogic domainLogic = m_MockRepository.DynamicMock<DomainLogic>();
domainLogic.Expect(d => d.SetPayload(Arg<ViewPayload>.Is.NotNull,
Arg < Func <CommandData, bool>>.Is.NotNull))
.WhenCalled(i => i.Arguments[1] = //pass own method);
// Assert that own method is called.
}
有什么办法可以做到这一点?我在互联网上进行了搜索,得到的只是如何调用传递的方法,但是没有断言是否调用了该方法。
谢谢!