gpt4 book ai didi

c++ - 编写 Makefile.am 来调用 googletest 单元测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:14 25 4
gpt4 key购买 nike

我正在尝试将我的第一个单元测试添加到现有的开源项目中。具体来说,我添加了一个名为 audio_manager 的新类:

src/audio/audio_manager.h
src/audio/audio_manager.cc

我创建了一个反射(reflect)实现文件结构的 src/test 目录结构,并写下了我的 googletest单元测试:

src/test/audio/audio_manager.cc

现在,我正在尝试设置我的 Makefile.am 来编译和运行单元测试:

src/test/audio/Makefile.am

我从以下位置复制了 Makefile.am:

src/audio/Makefile.am

有没有人给我一个简单的食谱,或者是给我的神秘的 automake 文档? :)

最佳答案

如果现有项目已经有一个测试结构,那么你应该添加:

TESTS += audio_manager

到现有的测试/Makefile.am。如果现有项目没有适当的测试结构,你应该尖叫着跑山。

如果爬山是 Not Acceptable ,那么在准备好测试结构方面需要做一些工作,但这并非不可克服。您可能更愿意将测试作为 src 的兄弟,但这不是必需的。从新的 Makefile.am 开始可能比从 src 复制 Makefile.am 更容易,但也许不是。可能,您需要做的就是更改以下形式的行:

bin_PROGRAMS = ...

check_PROGRAMS = ...

添加行

TESTS = test-audio-manager

将 audio_manager.cc 的名称更改为 test-audio-manager.cc(这不是绝对必要的,但有助于可维护性。我将 _ 更改为 - 纯粹出于个人喜好)并添加一个

SUBDIRS = tests/audio

到 src/Makefile.am。 (如果已经有 SUBDIRS 指令,附加到该赋值或使用 +=)

关于c++ - 编写 Makefile.am 来调用 googletest 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com