RhinoMocks-将函数作为参数传递给另一个函数,并断言作为参数传递的函数已执行

问题描述 投票:0回答:1

我正在寻找如何将一个函数作为参数发送给另一个函数,并断言在通过某些验证之后将调用“作为参数传递的函数”。

例如,

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. 
}

有什么办法可以做到这一点?我在互联网上进行了搜索,得到的只是如何调用传递的方法,但是没有断言是否调用了该方法。

谢谢!

c# unit-testing mocking rhino-mocks
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.