使用位于项目内的以下web.conig文件(在本例中为单元测试项目):
...
<appSettings>
...
<add key ="SmtpPort" value="00"/>
<add key="SmtpHost" value="site.site.com"/>
<add key=""/>
</appSettings>
...
以下单元测试失败:
[TestMethod]
public void VerifyAppSettingsAreRead()
{
string port = System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpPort"];
string host = System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpHost"];
Assert.IsTrue(!String.IsNullOrEmpty(port) && !String.IsNullOrEmpty(host));
}
此外,System.Web.Configuration.WebConfigurationManager.AppSettings.AllKeys列出了一个键,并且在web.config文件中根本找不到它。实际上,在整个解决方案中搜索密钥都没有任何结果。
如何更正WebConfigurationManager无法返回正确密钥的行为?
答案 0 :(得分:0)
我看到你引用app.config和web.config。
如果您尝试使用web.config设置,则可能应该使用
像:
[TestMethod]
public void VerifyAppSettingsAreRead()
{
string port = System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpPort"];
string host = System.Web.Configuration.WebConfigurationManager.AppSettings["SmtpHost"];
Assert.IsTrue(!String.IsNullOrEmpty(port) && !String.IsNullOrEmpty(host));
}