关于单元测试中的部署目录

来源:互联网 发布:淘宝天猫京东对比 编辑:程序博客网 时间:2024/06/05 09:00

近来做UnitTest,昨天遇到了一个问题,十分火大,搞了我两个小时有了。主要是测试的方法里调用了另一个dll的方法,而这个被调用的方法用了AppDomain.CurrentDomain.BaseDirectory这个东西,当run test时,会动态随时间创建一个测试的部署文件夹,在TestResult目录下, 而这个部署文件夹里又有in和out两个文件夹,而当前这个AppDomain.CurrentDomain.BaseDirectory正是指out目录,这里用到AppDomain.CurrentDomain.BaseDirectory,是为了读取xml文件,此刻就会发现找不到xml文件的错误,而这个部署文件夹又是随时间动态创建的,这可怎么办?

翻天覆地,找到了DeploymentItemAttribute,这个东西还是有点用处的,看了看MSDN,里面有个sample,照着上面讲的做了,但还是没发现什么……关键是上面少了一个说明,就是xml文件在copy到自己的测试项目目录下,然后在solution explorer里找到这个xml,再看这个xml的property explorer,上面有个“复制到输出目录”的选项,把它选上“始终复制”这项,再用DeploymentItem部署一下,如xml文件名为"context.xml",则写成DeploymentItem["context.xml"],当再次run test时,测试目录下的context.xml就会自动复制到out目录下,这时要读取xml就没问题了。

原创粉丝点击