w3c网站开发,用什么软件做网站前端,吴忠seo,营销型网站制作成都- -Visual Stuido 2005集成了Unit Test功能后#xff0c;创建和管理Unit Test变得比原来简单多了#xff0c;并且独立项目的Unit Test模块和代码不会再残留于我们的dll中。不过VS 2005 Unit Test运行方法的原理和其他的Unit Test框架一样#xff0c;也是使用反射…- -Visual Stuido 2005集成了Unit Test功能后创建和管理Unit Test变得比原来简单多了并且独立项目的Unit Test模块和代码不会再残留于我们的dll中。不过VS 2005 Unit Test运行方法的原理和其他的Unit Test框架一样也是使用反射来实现的这样就会造成代码中一些依赖于运行环境的参数获取不到。 刚才做了一个方法的Unit Test该方法依赖于Web.confing里面的一个定制参数于是郁闷就来了。当我运行测试代码时发现那个Config里面配置参数总是为null。本来这个问题应该一点都不复杂可是当我查看程序编译时的输出信息时发现如下的一个Warning: System.Configuration.ConfigurationSettings.AppSettings is obsolete: This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings 本来还有点清醒的我被这个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