Fra*_*aft 23 .net c# constructor unit-testing moq
我有这样一组构造函数:
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) { }
Run Code Online (Sandbox Code Playgroud)
但是在测试/模拟时我需要没有任何连接字符串参数的对象.我怎么能这样做 - 最好是在Moq?
这有可能吗?
wom*_*omp 31
var myMockBOC = new Mock<BusinessObjectContext>(null, null);
Run Code Online (Sandbox Code Playgroud)
这将为您的两个参数传递空值.
另一种方法是创建仅供测试使用的内部构造函数,并用于InternalsVisibleTo允许测试程序集使用它.不幸的是,这有一个很大的缺点,如果你签署你的程序集,Moq无法使用构造函数.这应该在Moq的4.0版本中得到解决.
| 归档时间: |
|
| 查看次数: |
30387 次 |
| 最近记录: |