cmake + googletest 的目录结构最佳实践是?

237 天前
 aqtata

目前看到有几种做法:

  1. 测试代码在源码中,通过宏区分编译。
  2. 测试代码在工程目录下的 test 文件夹中,引入被测的源文件编译测试。
  3. 把被测代码编译成静态库,在顶层目录下有个 tests 文件夹,链接静态库测试。

各位怎么组织的?

2555 次点击
所在节点    C++
8 条回复
stimw
237 天前
3
stimw
237 天前
2 或 3 ,我是说我这么干,不是指最佳实践
whtwwo1
237 天前
1. 自己只测对外提供的接口。对外接口一律使用 interface ( virtual )
2. 测试代码在每个模块下 unit_test 文件夹中,和 src include 并列。
3. 直接链接模块动态库测试,依赖其他模块的接口一律 mock
4. 查看覆盖率,修改
whtwwo1
237 天前
5. 提交 commit ,打会重做。
BingoXuan
237 天前
测试代码在 tests 文件夹,有专门的 cmake 加载测试。项目用 conan 构建,build 的时候调用 ctest 测试
ptg2008
237 天前
撞头像了
aqtata
237 天前
目前我用了第 2 ,3 种的结合。
198plus
237 天前
这就是 cpp ,n 个库有 n! 个 template object ,还有最优秀的包管理:源码复制。没学明白过 cmake ,慕名来学习一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1104863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX