首页 > 后端开发 > C++ > 如何在单位测试中可靠地确定测试组件的目录路径?

如何在单位测试中可靠地确定测试组件的目录路径?

Barbara Streisand
发布: 2025-01-31 22:46:09
原创
590 人浏览过

How Can I Reliably Determine the Directory Path of My Test Assembly in Unit Tests?

>>>在单元测试中访问文件:一种可靠的方法,用于确定测试程序集的目录

>单元测试通常需要相对于测试组件访问文件。 但是,由于测试环境(例如测试跑者,临时目录)的变化,找到组件目录可能很棘手。本指南提供了一个强大的解决方案。

查找汇编目录 的挑战

目的是获得当前组件的目录路径,不包括文件名。 常见的方法通常不足:

  • Environment.CurrentDirectory:这返回当前的工作目录,这可能与总成的位置有所不同。 例如,在某些测试跑者中,它指向跑步者的目录,而不是测试项目的目录。
  • Assembly.GetAssembly(typeof(AssemblyType)).Location:这些提供了完整的汇编路径Assembly.GetExecutingAssembly().Location包括fileName,而不仅仅是目录。
>

解决方案:利用Assembly.CodeBase>

键使用

。该属性将大会的路径返回为URI。 通过使用Assembly.CodeBaseUriBuilder.UnescapeDataString,我们可以可靠地提取目录路径:Path.GetDirectoryName>

<code class="language-csharp">public static string GetAssemblyDirectory()
{
    string codeBase = Assembly.GetExecutingAssembly().CodeBase;
    UriBuilder uri = new UriBuilder(codeBase);
    string path = Uri.UnescapeDataString(uri.Path);
    return Path.GetDirectoryName(path);
}</code>
登录后复制
此方法始终返回正确的目录路径,无论测试环境如何

以上是如何在单位测试中可靠地确定测试组件的目录路径?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板