我一直在尝试使用Visual Studio 2010按照此Using a Configuration File to Define a Data Source中的说明在单元测试期间读取app.config文件。我在论坛中也阅读了很多帖子,但我是尝试读取app.config值时仍然获得空值。以下是我的app.config和单元测试代码的片段。
的App.config
<configuration>
<configSections>
<section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</configSections>
<connectionStrings>
<add name="DatabaseConnectionString" connectionString="Data Source=***;User Id=***;Password=***;Integrated Security=no" providerName="Oracle"/>
</connectionStrings>
<microsoft.visualstudio.testtools>
<dataSources>
<add name="MyOracleConnection" connectionString="DatabaseConnectionString" dataTableName="***" dataAccessMethod="Sequential"/>
</dataSources>
</microsoft.visualstudio.testtools>
</configuration>
单元测试:
[TestMethod()]
[DeploymentItem("app.config")]
public void S_ConstructorTest(){
myObject m = new myObject();
...}
在我的目标代码中,我试图通过以下方式读取配置文件:
public static readonly string sConnectionString = System.Web.Configuration.WebConfigurationManager.AppSettings["sConnectionString"];
基于我在这里的其他帖子中读到的内容,MSDN似乎添加了超过此工作所必需的内容,但是在读取配置文件时我仍然保持获取空值。我知道关于单元测试是否应该访问真正的数据库存在争议,但是现在我只需要让它来读取配置文件。
任何帮助都将不胜感激。