C# 单元测试SerializableConfigurationSection以编程方式

C# 单元测试SerializableConfigurationSection以编程方式,c#,unit-testing,configuration,C#,Unit Testing,Configuration,我在我的项目中使用强类型配置部分,并希望对一个特定区域进行单元测试,该区域在设置不正确时引发异常 配置类的片段: public class EmailSettings : SerializableConfigurationSection, IEmailSettings { [ConfigurationProperty("from", IsRequired = true)] public string From { get { ...

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

配置类的片段:

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;
}
样品测试方法:

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
方法)似乎是通过程序集中的物理配置文件完成的-这是唯一的方法还是我可以通过编程方式进入其中?

您可以在测试夹具设置中生成一个,然后按照此问题的答案中所述加载它:


似乎没有任何方法可以通过编程实现这一点,因此这似乎是唯一的前进之路-感谢您的回答。