gpt4 book ai didi

c# - 使用 Moq 模拟构造函数?

转载 作者:IT王子 更新时间:2023-10-29 04:26:23 28 4
gpt4 key购买 nike

我有这样一组构造函数:

public BusinessObjectContext()
: this(CloudStorageAccount.FromConfigurationSetting("DataConnectionString").TableEndpoint.ToString(),
CloudStorageAccount.FromConfigurationSetting("DataConnectionString").Credentials) {}

public BusinessObjectContext(string dataConnectionString)
: this(CloudStorageAccount.Parse(dataConnectionString).TableEndpoint.ToString(),
CloudStorageAccount.Parse(dataConnectionString).Credentials) { }

public BusinessObjectContext(String baseAddress, StorageCredentials credentials)
: base(baseAddress, credentials) { }

但是在测试/模拟时我需要没有任何连接字符串参数的对象。我该怎么做 - 最好是在最小起订量中?

这可能吗?

最佳答案

var myMockBOC = new Mock<BusinessObjectContext>(null, null);

这将为您的两个参数传递空值。

另一种方法是创建一个仅供测试使用的内部构造函数,并使用 InternalsVisibleTo允许您的测试程序集使用它。不幸的是,这有一个很大的缺点,如果你签署你的程序集,Moq is unable to use the constructor .不过,这应该会在 Moq 的 4.0 版本中得到解决。

关于c# - 使用 Moq 模拟构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976018/

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