【问题标题】:Web config app settings values null during visual studio unit test在 Visual Studio 单元测试期间 Web 配置应用程序设置值为 null
【发布时间】:2017-12-14 11:10:51
【问题描述】:

我在 VS 2015 中为我的 .net 解决方案中的一个方法添加了新的单元测试项目,当我运行测试用例时,web config 应用程序设置值为 null 并且无法完成测试,实际上配置键值可用并且在 Web 应用运行期间可访问,但在单元测试期间值为 null,

谁能帮帮我。

提前致谢

【问题讨论】:

  • 测试项目需要app.cofig,并存在类似的设置。单元测试在单独的应用程序域中运行,因此需要它自己的配置文件。
  • 理论上,单元测试期间不应该读取任何文件。 Please check。您可以使用Microsoft Fakes 将您的代码与系统组件(或任何其他第三方程序集)隔离开来。
  • 非常感谢 NKosi,它的工作原理

标签: visual-studio unit-testing


【解决方案1】:

测试项目需要app.cofig,其设置与正在测试的 Web 项目中的设置相似。

单元测试在单独的应用程序域中运行,因此需要它自己的配置文件。

ConfigurationManager 读取正在运行的当前应用程序域的配置文件,因此为测试项目创建一个app.config 文件并复制所需的配置设置以允许按预期执行测试。

这个问题还暴露了您的代码如何在使用 ConfigurationManager 方面与实现问题紧密耦合,您应该考虑抽象配置访问,以便可以模拟/替换它们以允许单独完成单元测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多