gpt4 book ai didi

.net - 如何查找已传递给我的模拟(Moq 或 Rhino Mocks)接口(interface)上的方法的值?

转载 作者:行者123 更新时间:2023-12-02 01:07:53 26 4
gpt4 key购买 nike

我正在使用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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com