以编程方式对SerializableConfigurationSection进行单元测试

本文关键字:单元测试 SerializableConfigurationSection 编程 方式 | 更新日期: 2024-04-23 17:48:46

我在项目中使用强类型配置部分,并希望对特定区域进行单元测试,当设置设置不正确时,该区域会引发异常。

配置类的一个片段:

public class EmailSettings : SerializableConfigurationSection, IEmailSettings
{
    [ConfigurationProperty("from", IsRequired = true)]
    public string From
    {
      get
      {
        ...
      }
      set
      {
        ...
      }
    }
    ...
}

样品测试方法:

[TestMethod]
public void something_describing_this_test()
{
  EmailSettings settings = new EmailSettings();
  settings.From;
}

我预计SerializableConfigurationSection及其内部正在寻找一个web.config(或类似的)来读取xml配置。

我如何才能在中间"模拟"配置,使我能够通过管道自定义值来测试某些条件?这个问题(使用ConfigurationManager方法)似乎是通过程序集中的物理配置文件来解决的——这是唯一的方法还是我可以通过编程进入那里?

以编程方式对SerializableConfigurationSection进行单元测试

您可以在测试夹具设置中生成一个,然后像这个问题的答案中所描述的那样加载它:

加载自定义配置文件