如何为同一个Moq类定义CallBack和raise方法

本文关键字:CallBack raise 方法 定义 同一个 Moq | 更新日期: 2023-09-27 18:13:21

我想为同一个MoqClass.Method定义CallBack和raise函数。我假设,下面示例中的CalllBack不起作用,因为第二个Setup定义覆盖了第一个。

 MoqClass.Setup(x => x.Method()).Callback(bla,bla,bla);
 MoqClass.Setup(x => x.Method()).Raises(bla,bla,bla)

我的假设正确吗?如果是,我如何为同一个Moq方法设置CallBack和raise ?

谢谢。

如何为同一个Moq类定义CallBack和raise方法

似乎你必须这样做:

MoqClass.Setup(x => x.Method()).Callback(() =>
    {
        //Your Callback logic
        var x = "foo":
        //Your Raises logic
        MoqClass.Raise(x => x.Foo += null, new FooEventArgs
        {
            Bar = true
        });
    });