You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NUnit单元测试项目无法读取App.config配置值的问题求助

解决NUnit项目中ConfigurationManager.AppSettings读取空值的问题

我帮你梳理下导致读取配置值返回null的几个关键问题,以及对应的解决步骤:

1. 配置文件节点使用错误(核心问题)

你当前的App.config里用了<ApplicationSettings>节点,但ConfigurationManager.AppSettings只能读取**<appSettings>**节点下的配置项(注意是小写开头的appSettings,不是ApplicationSettings)。这是导致读取失败的最主要原因。

修正后的App.config应该是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="name" value="Configuration Example Project"/>
    </appSettings>
</configuration>

2. 代码大小写错误

C#是大小写敏感的语言,你代码里写的system.configuration.configurationmanager.AppSettings是全小写,正确的命名空间和类名应该是System.Configuration.ConfigurationManager(首字母大写)。

3. 修正后的测试代码

结合上面两点,修正后的测试方法代码如下:

[Test, Order(1)]
public void IsUserReadDataThroughExcel()
{
    // 正确的调用方式
    string data1 = ConfigurationManager.AppSettings["name"];
    Console.Write("Print data " + data1);
    
    // 注意命名空间和类名的大小写
    string data2 = System.Configuration.ConfigurationManager.AppSettings["name"];
    Console.Write("Print data " + data2);
}

4. 额外确认项

  • 检查NuGet包引用:你已经安装了System.Configuration.ConfigurationManager 4.7.0版本,确保这个包已经正确添加到项目依赖中。如果之前手动添加引用失败,通过NuGet安装是.NET Framework项目的正确方式。
  • 验证App.config复制属性:你已经设置了“始终复制”,可以去项目的输出目录(比如bin/Debug)查看是否生成了[你的项目名].dll.config文件,并且里面包含修正后的<appSettings>节点。
  • 测试运行方式:确保使用Visual Studio的测试运行器运行NUnit测试,而不是直接启动测试项目,这样才能保证测试进程加载正确的配置文件。

按照这些步骤修正后,应该就能正常读取到配置值了。

内容的提问来源于stack exchange,提问作者Piyusha Naphade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 17:52:58