【发布时间】:2016-09-14 19:20:16
【问题描述】:
我的 Service Fabric 无状态服务应用程序中有一个方法,它从 ServiceContext 获取存储在 Settings.xml 中的配置
public static string GetConnectionString()
{
if (context == null)
return string.Empty;
// return context.CodePackageActivationContext.GetConfigurationPackageObject("Config").Settings.Sections["MySection"].Parameters["ConnectionString"].Value;
ICodePackageActivationContext activationContext = context.CodePackageActivationContext;
ConfigurationPackage configPackage = activationContext.GetConfigurationPackageObject("Config");
ConfigurationSettings configSettings = configPackage.Settings;
string connectionString = configSettings.Sections["ConnectionData"].Parameters["ConnectionString"].Value;
return connectionString;
}
在上面的代码中,我将代码分成多行以便于理解,实际上我在我的应用程序中使用了注释代码。
我需要为此方法编写单元测试。 我可以模拟 ServiceContext 和 ICodeActivationContext
但我无法为 ConfigurationSettings 和 ConfigurationPackage 创建对象,因为它们具有内部构造函数。
如何在单元测试中隔离这些类。或者我应该从我的单元测试中排除服务上下文部分。
【问题讨论】:
标签: c# unit-testing azure-service-fabric isolation