gpt4 book ai didi

c# - 模拟一个稍后实例化的接口(interface)?

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:34 25 4
gpt4 key购买 nike

下面是我的代码。我正在使用最小起订量库。而不是让 Moq 为我创建一个实例。我需要平整成一个类型以传递给某人以稍后创建实例。我该怎么做?

var mock = new Mock<IFoo>();
mock.Setup(foo => foo.Bar()).Returns(true);
// Test the actual method
DoSomething(mockedIStateProvider.Object.GetType());


// Not my code, it's a 3rd party library, not allowed to change
public void DoSomething(Type type)
{
Activator.CreateInstance(type);
...
...
}

最佳答案

您不能使用最小起订量。 Activator 将始终创建一个您无权访问的新实例,因此您将无法设置所需的模拟行为。

也就是说,您可能可以通过编写自己的 stub 实现来获得所需的行为,该 stub 实现始终按您的意愿行事。

关于c# - 模拟一个稍后实例化的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281885/

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