C# 无法从‘;App.config’;单元测试项目(Nunit)中的文件
我在VisualStudio中创建了一个“nunit”项目,其中包含一个简单的测试。没有可用的默认“App.config”文件,因此我创建了一个“App.config”文件。我已从其“属性”选项中将此文件标记为“始终复制” 我已尝试从'config'文件中读取值,该文件有两种方式'ConfigurationManager.AppSettings'和'system.configuration.ConfigurationManager.AppSettings'。但是,它显示的是空值(空值) 请看我的密码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'。但是,它显示的是空值(空值) 请看我的
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
像这样
我的项目的配置详细信息:
注意:此外,我还尝试通过右键单击“依赖项”选项(显示在visual studio中的项目名称内)将“system.configuration”的引用添加到我的项目中,但是,我无法在“类型库”选项中看到“system.configuration”选项。您正在测试的应用程序可能已经有一个配置文件。此外,NUnit本身可能有自己的配置文件。为避免冲突,NUnit始终要求对测试使用的配置文件进行特殊命名 具体来说,如果包含测试的程序集名为
mytests.dll
,则NUnit将在bin目录中查找名为mytests.config
的配置
有关详细信息,请参阅我的博客文章。[如此古老的帖子仍然有用是不寻常的,但在这种情况下,NUnit的工作方式没有任何变化。]