C# 无法从‘;App.config’;单元测试项目(Nunit)中的文件

C# 无法从‘;App.config’;单元测试项目(Nunit)中的文件,c#,selenium,frameworks,dependencies,nunit,C#,Selenium,Frameworks,Dependencies,Nunit,我在VisualStudio中创建了一个“nunit”项目,其中包含一个简单的测试。没有可用的默认“App.config”文件,因此我创建了一个“App.config”文件。我已从其“属性”选项中将此文件标记为“始终复制” 我已尝试从'config'文件中读取值,该文件有两种方式'ConfigurationManager.AppSettings'和'system.configuration.ConfigurationManager.AppSettings'。但是,它显示的是空值(空值) 请看我的

我在VisualStudio中创建了一个“nunit”项目,其中包含一个简单的测试。没有可用的默认“App.config”文件,因此我创建了一个“App.config”文件。我已从其“属性”选项中将此文件标记为“始终复制”

我已尝试从'config'文件中读取值,该文件有两种方式'ConfigurationManager.AppSettings'和'system.configuration.ConfigurationManager.AppSettings'。但是,它显示的是空值(空值)

请看我的密码

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration;
using System.IO;
using System.Text;
using log4net;
using NUnit.Framework;
using NUnitTestProject1.Config;
using NUnitTestProject1.Helper;

namespace NUnitTestProject1.AutomationTest
{
   [TestFixture, Order(3)]
    public class ReadDataThoughExcel
    {

        private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

       [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);
  }
 }
}

like so
配置文件代码如下:

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

like so

像这样
我的项目的配置详细信息:

  • Dot.Net Framework:Microsoft.Net Framework 4.7.0版
  • 操作系统:窗口10
  • IDE:VisualStudio2019
  • 使用Nunit框架进行单元测试
  • NUnit3TestAdapter(版本)3.17.0
  • Microsoft.NET.Test.Sdk(版本)16.5.0
  • 系统.配置.配置管理器(版本)4.7.0
  • 硒。支持(版本)3.141.0

  • 注意:此外,我还尝试通过右键单击“依赖项”选项(显示在visual studio中的项目名称内)将“system.configuration”的引用添加到我的项目中,但是,我无法在“类型库”选项中看到“system.configuration”选项。

    您正在测试的应用程序可能已经有一个配置文件。此外,NUnit本身可能有自己的配置文件。为避免冲突,NUnit始终要求对测试使用的配置文件进行特殊命名

    具体来说,如果包含测试的程序集名为
    mytests.dll
    ,则NUnit将在bin目录中查找名为
    mytests.config
    的配置

    有关详细信息,请参阅我的博客文章。[如此古老的帖子仍然有用是不寻常的,但在这种情况下,NUnit的工作方式没有任何变化。]