需求起因
我从事测试工作,每天任务简单枯燥,根据开发完成的需求去写测试用例,验证开发完成的需求是否与原始需求描述一致。我们之前使用的测试模板分为2类
- 使用公共用例去测试需求,我本地只需要更改arxml配置文件即可。
- 调用开发提供的API用例去写测试用例
但是目前有一个问题,对于调用开发API去写测试用例,我们CMAKE框架上是没有提供从其他文件目录导入头文件这么一个需求的。
下面描述一下我们用例结构
── case_name
├── dds_app
│ ├── common
│ │ └── common.hpp
│ ├── publisher
│ │ └── publisher.cpp
│ └── waitset_subscriber
│ └── waitset_subscriber.cpp
└── test_case_name.py
publisher和subscriber需要的功能函数直接从common.hpp中调用。
由于最近新增了一个subscriber运行绑核的需求,对于API用例需要添加大量代码(每个用例都需要添加大量相同代码),我负责的接口人就希望尽量只调用一下头文件,头文件的位置则放在一个公共路径,这样就不用再每一个用例common目录下在建立一个bind_cup.hpp文件了。
采用公共的文件结构应该如下, 绑核头文件放在dds_common目录下, 文件命名为dds_bind_cpu.hpp
├── case_name
│ ├── dds_app
│ │ ├── common
│ │ │ └── common.hpp
│ │ ├── publisher
│ │ │ └── publisher.cpp
│ │ └── waitset_subscriber
│ │ └── waitset_subscriber.cpp
│ └── test_case_name.py
└── dds_common
└── dds_bind_cpu.hpp
问题:
在case_name/dds_app/waitset_subscriber/waitset_subscriber.cpp中如何才能成功引用dds_common/dds_bind_cpu.hpp呢?
gcc提供了一个 "-I" 参数,对于自定义头文件加载都会到该目录下查找。
gcc -I ${dds_common_absoulte_path} waitset_subscriber -o waitset_subscriber.cpp
subscriber中调用自定义头文件
#include "dds_bind_cpu.hpp"
浙公网安备 33010602011771号