单元测试未找到应用设置

时间:2017-06-01 07:16:35

标签: c# unit-testing

单元测试失败,我收到以下错误消息,

  

消息:测试方法ConsoleApp4.Tests.DemoClsTests.ExecuteTest抛出   exception:System.ArgumentNullException:Value不能为null。   参数名称:路径

如何通过单元测试?

类方法

public class DemoCls
{
    public void Execute()
    {
        string dataFolder =   ConfigurationManager.AppSettings["Path"];
        foreach (string X in Directory.EnumerateFiles(dataFolder, "test" + "*.xml"))
        {
        }
    }
}

单元测试方法

[TestClass()]
public class DemoClsTests
{
    [TestMethod()]
    public void ExecuteTest()
    {
        var X = new DemoCls();
        X.Execute();
    }
}

1 个答案:

答案 0 :(得分:1)

dataFolder的值为null,表示ConfigurationManager.AppSettings["Path"]未找到值。

检查测试项目的app.config文件,看看应用设置键Path是否存在值。

<apSettings>
  <add key="Path" value="<path here>" />
</appSettings>

应该如何重构此测试代码以消除与太多实现问题的紧密耦合。主要是ConfigurationManagerSystem.IO来自Directories