【问题标题】:googletest project structure on LinuxLinux上的googletest项目结构
【发布时间】:2018-09-22 15:42:03
【问题描述】:

googletest 源代码(例如googletest-release-1.8.1.tar.gz)保留为C++ 项目的一部分并在每次调用test 目标时构建它是个好主意吗?

我的 Linux 发行版同时具有 gtestgmock,但并非所有发行版都具有它们。此外,现在gtestgmock 都在单一回购伞https://github.com/google/googletest 下,因此我不确定gtestgmock 将来会是什么样子。将googletest 源代码作为项目的一部分可能会解决我的担忧。但我不确定它是否符合 C++ 最佳实践。我在 Linux 中找不到任何推荐的方法。

【问题讨论】:

    标签: googletest


    【解决方案1】:

    构建 googletest 作为测试目标的先决条件是常见的做法。 对于 CMake 管理的项目,Googletest 文档how to incorporate in an existing CMake project。 对于 autotools 管理的项目,How can I use Google Test with my project that builds via autotools? 在 SO 上有一个广受好评的解决方案。

    构建 googletest 作为项目测试套件的先决条件可确保 googletest 代码 项目的下游用户构建和运行测试的代码是相同的 您构建并在上游运行。它确保 googletest 是使用相同的编译构建的 和链接选项作为被测代码。

    这些优势的代价是可以接受的,因为 Googletest 是一个廉价的构建目标,它唯一的依赖项 是 C++ 工具链和 pthreads(甚至 pthreads 也是可选的)。

    【讨论】:

    • 我希望我之前找到了那个解释!这不仅解释了如何以及为什么这样做。
    猜你喜欢
    • 2012-01-04
    • 2020-12-22
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 2020-05-25
    • 2019-12-11
    相关资源
    最近更新 更多