gpt4 book ai didi

.net - 如何编写内部可模拟方法

转载 作者:行者123 更新时间:2023-12-01 02:55:34 25 4
gpt4 key购买 nike

我们使用 Moq 作为我们的模拟框架,问题是需要模拟的类型是使用接口(interface)完成的,问题是该接口(interface)中的任何内容都是公共(public)的,因此被视为我们公共(public) API 的一部分。

有没有办法必须有一个可模拟且不公开的成员?

最佳答案

如果我对您的理解正确,您希望能够将接口(interface)应用于类型以支持模拟,但这样做的方式是接口(interface)对您的代码的公共(public)消费者不可见。

好吧,一种选择是您可以实现 internal接口(interface)并使用[assembly:InternalsVisibleToAttribute]使单元测试可以访问内部类型。

[assembly:InternalsVisibleTo("MyUnitTestAssembly")]

internal interface ISomeInterfaceForMocking { ... }

public class MyMockableType : ISomeInterfaceForMocking { ... }

关于.net - 如何编写内部可模拟方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113815/

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