zoukankan      html  css  js  c++  java
  • Vs2008单元测试不能找到测试项目的Config 文件

    1.   问题

    A----------a.config

     |

     |______ConfigDir

                |

                |--------b.config

                |

                ---------c.config

     A 项目使用了多个配置文件,而且配置文件分布多个目录,A在运行过程中会把a.config文件以及ConfigDir目录与Config目录下的两个b.Configc.Config文件拷贝到Bin目录。

    B是测试A的单元测试项目时,把a.config文件与 ConfigDir目录及b.config c.config文件文件拷贝到BConfig下。运行B会发现找不到配置文件a,b,c

    2.   分析

    因为B 在默认的情况下它的 AppDomain.CurrentDomain.BaseDirectory目录并不是测试目录下的Bin目录,而是根据测试时[登录用户]_[机器名] [运行时间](如[XX]_[PCXXX][ 2011-03-16 20_04_04]格式)动态生成的一个目录。直接把A项目的配置文件与目录结构拷贝到B是找不到配置文件的。

    B测试项目在

    3.   解决方法

    1)      打开菜单栏选Edit Test Run Configurations

    2)      选择Deployment 去掉Enable deployment,这是最简单的改法。再次运行测试项目会发现测试项目,已近能找到配置文件了 ,此时的 AppDomain.CurrentDomain.BaseDirectory就是测试目录的Bin。当然另一种改法就是选择Enable deployment后,把所有A项目依赖的配置文件与目录结构都添加进去(添加目录使用Add File ,添加目录使用Add Directory),再次运行测试项目,会发现动态生成的测试目录中已经拷贝了配置文件了。

  • 相关阅读:
    如何保证service不被系统杀死
    查找算法
    java多线程学习
    设计模式-单例
    Python2.7-内置类型
    Python2.7-内置函数
    准备要学的东西
    Python-2.7 : 编码问题及encode与decode
    【JZOJ4637】大鱼海棠【博弈论】
    【JZOJ4637】大鱼海棠【博弈论】
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/1988364.html
Copyright © 2011-2022 走看看