gpt4 book ai didi

c# - 如何在没有默认构造函数的情况下模拟对象上的方法?

转载 作者:太空狗 更新时间:2023-10-29 19:26:39 24 4
gpt4 key购买 nike

使用最小起订量,如果我尝试直接在 Foo 上模拟方法,我会得到:Invalid verify on a non-virtual (overridable in VB) member.

我的替代方案是模拟 IFoo,它摆脱了上述问题,但是我无法构造它,因为 Foo 没有无参数构造函数(不能为接口(interface)模拟传递构造函数参数。)。我能做什么?

最佳答案

您应该能够毫无问题地模拟 IFoo,并且在模拟接口(interface)时没有理由传递参数。您的 IFoo 模拟将完全是那个(模拟!),并且不了解 Foo 或任何实际实现,因此传递构造函数参数没有意义。

编辑:我要补充一点,如果接口(interface)存在,则模拟接口(interface)几乎总是比模拟具体实现更可取。如果您只有一个具体的实现,那么您想要模拟它的事实可能意味着它是添加接口(interface)的一个很好的候选者。

关于c# - 如何在没有默认构造函数的情况下模拟对象上的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6394021/

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