gpt4 book ai didi

unit-testing - Moq-ing 类或接口(interface)有什么区别?

转载 作者:行者123 更新时间:2023-12-03 13:33:18 26 4
gpt4 key购买 nike

我一直在使用moq在我的单元测试中模拟对象,我在有关 moq 的网站上看到它能够模拟类和接口(interface)。

前几天我和我的一个同事讨论过,他们说没有理由模拟类,我应该只模拟接口(interface)。

我对此并没有真正的答案....而且我似乎也无法在起订量网站上找到任何答案。

一个人永远不应该模拟类(class),这是真的吗?我会说不,因为如果这是真的,那么 Moq 甚至都不会允许它......那么有没有时候在接口(interface)上模拟一个类更好?模拟类与模拟接口(interface)有什么区别?或者它真的只是一种偏好?

最佳答案

模拟一个类是完全有效的。但是,使用 MoQ,您只能模拟类上的虚拟方法和属性。

当您有抽象基类而不是接口(interface),或者具有默认实现和虚拟作为扩展点的类时,它很有用。在很多情况下,您无法访问需要模拟的类的源代码。 .Net 框架中有很多例子,例如成员(member)提供者。

关于unit-testing - Moq-ing 类或接口(interface)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349452/

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