在单元测试中使用WebConfigurationManager

时间:2011-09-08 11:07:05

标签: asp.net unit-testing

我正在尝试编写一些单元测试来测试改变web.config运行时的代码。要加载Web.config,请使用WebConfigurationManager.OpenWebConfiguration。这在单元测试中不起作用。

我有哪些选择?我试过了:

  1. 使用方法属性将测试配置为ASP.NET测试。这看起来很脆弱,因为您需要使用[UrlToTest(“http:// localhost:25153 / WebSite1”)]对开发服务器运行的端口进行硬编码。我需要测试在不同配置的多台计算机上运行。此外,我觉得启动IIS服务器只是为了能够在单元测试中加载文本文件,这太过分了。

  2. 使用其他方法从磁盘加载配置。我已经尝试过configurationManager.OpenExeConfiguration(),然后我得到一个Configuration对象,但这似乎没有被正确解析。特别是system.web下的sessionState部分,这是一个特定于Web的设置,因此不是很令人惊讶。

  3. 我从哪里开始?

1 个答案:

答案 0 :(得分:0)

阅读web.config的最终目标是什么?根据您要完成的任务,有许多不同的方法来阅读web.config。如果您尝试读取connectionString使用: 导入System.Web.Configuration.WebConfigurationManager 然后在你的代码中使用: Dim cn As SqlConnection = New SqlConnection(ConnectionStrings(“ConnectionStringName”)。ToString()) 如果您尝试阅读自定义应用设置: Dim值为String = ConfigurationSettings.AppSettings(“keynamehere”) 只是取决于你想要阅读的内容..