在UnitTest中读取*.config文件的郁闷
刚才做了一个方法的Unit Test,该方法依赖于Web.confing里面的一个定制参数,于是郁闷就来了。当我运行测试代码时,发现那个Config里面配置参数总是为null。本来这个问题应该一点都不复杂,可是当我查看程序编译时的输出信息时,发现如下的一个Warning:
本来还有点清醒的我被这个Warning搞糊涂了,还以为是旧的方法出了什么问题被废弃,结果把本来简单的问题想的越来越复杂:(。于是按编译提示把ConfigurationSettings改成了ConfigurationManager,显然这是徒劳的,问题依旧,还是无法取到Config文件里的参数值。
在ConfigurationSettings和ConfigurationManager间又倒腾了半天,仍然是毫无起色。在郁闷了很久之后,突然醍醐灌顶想到,config文件是一个应用的全局配置,应该在应用本身正常启动后才能被载入生效。由于Unit Test使用反射的方式载入assembly和class,再Invoke被测试的方法,这样一来本身的应用没有被正常的启动,config信息当然也就无从获取。于是马上启动应用本身,果然就取到了config文件中配置的参数。
所以在做Unit Test的时候,需要注意被测试的方法是否依赖了config文件中的参数,如果有需要暂时使用hardcode的常量来代替,再进行我们的Unit Test测试,否则就只有自个郁闷去吧。
以上问题出现在ASP.NET项目中对Web.config文件的读取,至于WinForm程序的*.config文件想来也该有这个问题,不过还没有亲自去验证。
转载于:https://www.cnblogs.com/birdshome/archive/2006/03/16/UnitTest2005.html
在UnitTest中读取*.config文件的郁闷相关推荐
- java中读取properties文件内容五种方式
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- 在.net中读写config文件的各种方法(转载)
阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collec ...
- 五种方式让你在java中读取properties文件内容不再是难题
2019独角兽企业重金招聘Python工程师标准>>> 方式1.通过context:property-placeholder加载配置文件jdbc.properties中的内容 < ...
- SQL Server中读取XML文件的简单做法
SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦.本文介绍在SQL Server中读取XML文件的简单做法. ...
- 从jar包中读取资源文件
:[解惑]深入jar包:从jar包中读取资源文件 精华帖 (3) :: 良好帖 (15) :: 新手帖 (9) :: 隐藏帖 (0) 作者 正文 Heart.X.Raid 等级: 性别: 文章: 72 ...
- 在WinRT中读取资源文件
在.Net Framework程序中,我们经常以如下方式读取程序集中的资源文件: Assembly readAssembly = Assembly.GetExecutingAssembly(); ...
- Java项目中读取properties文件,以及六种获取路径的方法
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...
- php中读取大文件实现方法详解
php中读取大文件实现方法详解 来源: 时间:2013-09-05 19:27:01 阅读数:6186 分享到:0 [导读] 本文章来给各位同学介绍php中读取大文件实现方法详解吧,有需要了解 ...
- matlab中读文件的行数_Matlab中读取txt文件的几种方法
Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...
最新文章
- Spring servlet
- 【Network Security!】DOS基本命令与批处理(看不懂来打我)
- ASP.NET 会话状态
- 【洛谷】【动态规划/二维背包】P1855 榨取kkksc03
- iOS系列教程 目录 (持续更新...)
- 计算机在管理会计应用中的作用,计算机在现代管理会计中的应用(共3736字).doc...
- c# dynamic 无法创建 泛型变量的问题
- Java面向对象之抽象方法抽象类、接口的使用
- css中em单位和rem单位
- .NET程序集(Assembly)
- RFID射频识别技术介绍及简单应用
- 火狐浏览器配置webDriver
- “小而美”走到十字路口,吉利或收购魅族助车机闭环
- 用max的角度来解析blender建模!
- IODE海洋数据门户平台简述
- 极路由4增强版 倒闭后无法开启开发者模式
- 九龙证券|服务器龙头获资金连续抢筹,尾盘主力抢筹前期大热门股
- 给自家人做个招聘广告,前后端和移动工程师看过来
- 美国大厂新员工薪资曝光! 微软最高近30万美元,TikTok低至时薪30美元
- 内存管理之Tagged pointer