将参数从 ctest 传递到 gtest



我正在使用gtest为我的应用程序编写单元测试。我也有 ctest 运行add_test CMake 命令添加的所有可执行文件。测试执行开始时,是否可以通过 ctest 传递 gtest 变量?

例如,我想有时使用 --gtest_filter 标志过滤掉测试,但我不知道如何或是否可以通过 ctest 做到这一点?我尝试了以下方法:

ctest --gtest_filter=AppTest.*
ctest --test-arguments="--gtest_filter=AppTest.*"

但两者都仍然运行所有测试,而不是过滤后的测试。

谢谢!

对于任何在2019年看到这里的人来说,最新版本的CMake都有gtest_discover_tests(GoogleTest模块),它将把你的测试提升到CTest中,你可以从那里过滤。

IOW 不是在 CTest 中只有一个add_test,而是使用 --gtest_list_tests 为每个测试调用add_test

例如,要使测试的输出详细:

$ make test ARGS="-V"

运行特定测试:

$ ctest -R <regex>

注意:你可以看看这个例子。

看看CMakes的add_test add_test。

要从 CTest 中过滤掉测试,您可以使用 -L ctest

相关内容

  • 没有找到相关文章

最新更新