单元测试获取不到配置文件自定义配置的问题解决方法

本文参考链接:https://stackoverflow.com/questions/344069/can-a-unit-test-project-load-the-target-applications-app-config-file

 

在单元测试时如果需要类似这样的

ConfigurationManager.AppSettings["key"]

获取自定义配置信息将会获取不到值。解决方法有三个:

  方法一:

    在单元测试项目中添加app.config文件并且把被测项目中自定义的配置复制一份到这个新增的文件中。

    缺点:每次都要手动同步这两个文件。

  

  方法二:

    1、在单元测试项目上右键,添加现有项

    

    2、找到被测项目的配置文件所在路径,如果找不到配置文件,注意选择“所有文件”,添加方式选择“添加为链接”

    

    缺点:如果两个项目的配置文件命名规则不一样还是获取不到,比如要测试的是web项目他的配置文件是web.config

  

  方法三:

    1、右键单元测试项目,选择属性

    

    2、选择生成事件,单击“编辑预先生成”,添加以下代码,并确定,注意把“Admin.Web”换成你要测试的项目名称

copy "$(SolutionDir)Admin.Web\web.config" "$(ProjectDir)$(OutDir)$(TargetFileName).config"

    

    缺点:暂未发现

posted @ 2018-02-03 14:59  a-fei  阅读(952)  评论(0编辑  收藏  举报