首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Catch2中指定外部文本文件路径的最佳方法

在Catch2中指定外部文本文件路径的最佳方法
EN

Stack Overflow用户
提问于 2019-11-22 00:47:55
回答 1查看 363关注 0票数 2

我正在为一个从文本文件读取和解析数据的函数编写一些单元测试,这让我想知道:在Catch2单元测试框架中为外部文本文件指定路径的最佳方式是什么?

我在docs中找不到它,而且,尽管它们是一些类似于这个问题(例如here)的问题,但没有一个是专门与Catch2相关的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 01:18:54

如果有一个子目录来存放有问题的文件呢?但是,如果您的构建树与源代码树是分开的,那么您需要让您的构建系统将它们复制到构建树中,或者以某种方式神奇地找出它们所在的路径。为了实现后者,我想到的第一件事是在第2条中通过brewing your own main将源代码树位置作为命令行参数添加,并在调用测试时使用构建系统来填充它。

避免将测试与外部文件耦合的一种方法是遵循single responsibility principle并将函数拆分为两个模块:一个模块读取文件,然后将数据“馈送”到解析数据的模块。

测试解析逻辑非常简单:您可以只在单元测试源文件中使用随机字符串,而无需管理外部文件。

在这种情况下,您还可以设计您的类/逻辑来允许您存根/伪造/模拟处理文件系统的调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58979847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档