代码改变世界

Visual Studio2010中unittest的xml文件路径error问题

  AnyKoro  阅读(520)  评论(0编辑  收藏  举报

【问题】

在单元测试中需要访问自定义的xml文件,或config文件时,会遇到vs说找不到相应文件的情况。

【原因】

在visual studio做单元测试时,相关的xml结果会默存放在一个output文件夹中,但是由于单元测试的默认机制,每次都会在TestResult中根据当前时间新建一个文件夹用以存放会用到的config文件和dll文件。这个时候就会出问题了。TestResult的OUTPUT目录是在testsetting里面设置的。而config文件的copy to Output Directory(选中config文件,选择properties)的属性是针对Build而言的,这样就会导致两个Output目录不一致的问题。那么此时你选择copy always的话,还是不会copy到testresult的OUTput目录中。这样,在访问相应会用到的xml文件时候,就会出现找不到文件的情况。从而报错。

【解决】

首先可通过vs的Test菜单项,选择Edit test setting编辑你使用到的testsetting,(当然也可以找到solution中的solution Items文件夹编辑其中的testsetting)。有了前面的原因分析。我们可以很容易的分析出,这里我们主要是变更输出目录即可,只要将两输出目录调整一致即可。我在这里是这么做的,在General中选择user define schema,并且去掉Append date-time stamp项,这个是为了让test result的output目录固定。然后这里设置的prefix定义了test result中的目录。然后,再选择unittest project的属性,在bulid标签处,将output directory改掉,选择为我们之前test result设置的output。这样两个output目录一致后,就一切正常了。

 

 

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示