我目前正在使用ctest
运行使用编写的测试捕获框架。我希望能够根据内部 Catch 标签过滤要运行的测试;例如,我希望能够轻松阻止任何带标签的测试[FUTURE]
运行。
对于单个测试可执行文件,忽略ctest
,这很简单:
myTestName '~[FUTURE]'
但我没有看到任何'~[FUTURE]'
通过 向 Catch 测试传递参数的方法ctest
。这应该可以 --test-command
但是 (1)--test-command
没有它似乎什么也做不了--build-and-test
(这不是我想要的)并且 (2) 这显然一次只对一个测试有效,这也不是我想要的(我只想在ctest
我的整个项目上运行)。
我可以只使用它ctest -N
来获取要运行的测试的名称,然后自己运行测试,但是我不知道任何方法可以获取测试文件路径,ctest
所以我必须find
在所有测试名称上运行,此时我基本上是在实现我自己的测试运行器。
附言目前没有针对ctest
Catch 测试框架的现有标签,而且我也没有创建它们的代表。我不太确定这里还有哪些其他标签适用。我只使用标签,cmake
因为ctest
它是 的一部分cmake
。