我正在将我的一个测试文件夹迁移到 gtest,它包含多个文件,每个文件都有自己的测试夹具。
到目前为止,我的简化版 cmake 是:
file(GLOB SOURCES *.c)
set(EXECUTABLE_NAME "mytest")
add_executable(${EXECUTABLE_NAME} ${SOURCES})
gtest_add_tests(TARGET ${EXECUTABLE_NAME} TEST_LIST ${EXECUTABLE_NAME}_TESTS)
# add_test(NAME ${EXECUTABLE_NAME} COMMAND ${EXECUTABLE_NAME}) #tried
到目前为止,
ctest -N
显示了尽可能多的测试,而我希望:
创建一个测试并能够通过 gtest_filter 来仅运行其中一个文件/测试套件。类似这样:
ctest --gtest_filter=*BLAH*
我应该能够在 Windows 和 Linux 中执行此操作。
创建单个测试并能够通过 gtest_filter 来仅运行其中一个文件/测试套件。
目前这是不可能的。如果您想在命令行上过滤测试
ctest
提供
-R <regex>, --tests-regex <regex>
= Run tests matching regular expression.
因此您可以执行以下操作:
# Runs all test that match the regex BLAH
ctest --test-dir build/ -R BLAH
或者你也可以做相反的事情:
-E <regex>, --exclude-regex <regex>
= Exclude tests matching regular expression.
# Runs all test that do NOT match the regex BLAH
ctest --test-dir build/ -E BLAH