SetClientCallbackSender

SetClientCallbackSender

我正在使用 Moq - 但如果需要 可以轻松切换到另一个模拟框架

我定义了一个接口(interface):

public interface IBaseEngineManagerImp
{
   void SetClientCallbackSender(IClientCallbackSender clientCallbackSender);
}

然后我模拟 IBaseEngineManagerImp
mockEngineManagerImp = new Mock<IEngineManagerImp>();
EngineManager engineManager = new EngineManager(mockEngineManagerImp.Object);

engineManager 然后调用 SetClientCallbackSender 传入一个值。

如何从我的单元测试中获取传递给 SetClientCallbackSender 的值?

(我希望在 clientCallbackSender 上调用一些方法作为测试的一部分)

最佳答案

您可以在模拟上使用 .Callback 方法,在传入 SetClientCallbackSender 方法的参数上调用任何函数:

mockEngineManagerImp.Setup(x => x.SetClientCallbackSender(It.IsAny<IClientCallbackSender>()))
            .Callback((IClientCallbackSender c) => c.DoSomething());

关于.net - 如何在我的模拟(Moq 或 Rhino Mocks)接口(interface)上找到已传递给方法的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1802580/

10-10 00:42