我想知道如何加载配置,以便它可以在测试项目和应用程序运行时工作
本文关键字:测试 项目 工作 运行时 应用程序 何加载 加载 配置 想知道 | 更新日期: 2023-09-27 17:56:51
我想封装AppConfig,因此我准备了这样的类:
static AppConfig()
{
var exePath = Assembly.GetExecutingAssembly().Location;
_config = ConfigurationManager.OpenExeConfiguration(exePath);
}
我这样做是为了有保存的可能性,并且可以添加这样的新设置:
public static void SetSettings(string key, object value)
{
if (_config.AppSettings.Settings.AllKeys.Contains(key))
{
_config.AppSettings.Settings[key].Value = value.ToString();
}
else
{
_config.AppSettings.Settings.Add(key, value.ToString());
}
}
public static string GetSettings(string key, string defaultValue = "")
{
if (_config.AppSettings.Settings.AllKeys.Contains(key))
{
return _config.AppSettings.Settings[key].Value;
}
return defaultValue;
}
public static void Save()
{
_config.Save(ConfigurationSaveMode.Modified);
}
不幸的是,在测试中使用此类 AppCofing 不会加载它。
想知道如何加载配置,以便它在测试项目和应用程序运行时都能工作。
不应从外部配置文件读取单元测试。 读出的值应该是使用它们的任何内容的依赖项,因此您的测试可以通过构造函数、方法、属性等提供所需的值。
如果你想在配置文件中对获取和设置值进行单元测试,那么这可能不值得测试,因为那是框架代码。