我正在使用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
。
关于cmake - 将参数从ctest传递到gtest,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47035382/