为Catch2中的外部文本文件指定路径的最佳方式
best way to specify paths for external text files in the Catch2
我正在为一个从文本文件中读取和解析数据的函数编写一些单元测试,这让我想知道:在Catch2单元测试框架中,为外部文本文件指定路径的最佳方法是什么?
我在文档中找不到它,尽管有一些问题与此类似(例如这里(,但没有一个问题专门与Catch2有关。
在有问题的文件所在的子目录中创建一个子目录怎么样?但是,如果构建树与源树是分开的,那么您需要让构建系统将它们复制到构建树中,或者以某种方式神奇地找出它们所在的路径。实现后者的第一件事是添加源树位置作为命令行参数,方法是在Catch 2中酝酿自己的main,并在调用测试时使用构建系统来填充它。
避免将测试与外部文件耦合的一种方法是遵守单一责任原则,并将功能拆分为两个模块:一个模块读取文件,然后将数据"馈送"到解析它的模块
测试解析逻辑非常简单:您可以在单元测试源文件中使用随机字符串,从而消除管理外部文件的需要。
在这种情况下,您还可以设计类/逻辑,以允许您存根/伪造/模拟处理文件系统的调用。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 如何将更多文件夹添加到c++include路径
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- 在c代码之间共享数据的最佳方式
- 为Catch2中的外部文本文件指定路径的最佳方式
- 获取 exe 文件夹路径的最佳方法?
- 我该如何判断k-server动态解决方案的最佳路径以数组成本[i] [j] [k] [t]位于何处
- 保存使用递归回溯找到的最佳路径
- 确定两个文件路径引用同一文件对象的最佳方法是什么
- 存储库的路径.需要最佳实践
- 标题包含C++库中的路径-最佳实践
- 什么是适用于多个入口和多个出口的类似BFS的最佳路径算法
- 如何完善Dijkstra算法,而不是找到最佳路径
- 点 c++ 列表中的最佳路径
- 组织一个C++游戏的最佳方式是什么?该游戏涉及用户在路径之间进行选择,以便在旅程中前进
- 使用Dijkstra算法找到最佳路径的不可预测的结果
- 网格中的最佳路径
- 将filesystem::path元素附加到另一个路径的最佳方法是什么?