首页 > 解决方案 > 运行单元测试,不包括 Catch2 中的特定标签

问题描述

我可以根据Catch2中的特定标签“不匹配”运行测试用例吗?

TEST_CASE("Check the data validity","[Working]"){
  REQUIRE(true);
}

TEST_CASE("Check the input","[InProgress]"){
  REQUIRE(true);
}
TEST_CASE("Validate the response","[NotWorking]"){
  REQUIRE(false);
}

[NotWorking]在我完成实现该功能之前,我想调用不属于标记的测试用例。

标签: c++catch2

解决方案


来源:https ://github.com/catchorg/Catch2/blob/master/docs/command-line.md#specifying-which-tests-to-run

测试用例示例:

thisTestOnly            Matches the test case called, 'thisTestOnly'
"this test only"        Matches the test case called, 'this test only'
these*                  Matches all cases starting with 'these'
exclude:notThis         Matches all tests except, 'notThis'
~notThis                Matches all tests except, 'notThis'
~*private*              Matches all tests except those that contain 'private'
a* ~ab* abc             Matches all tests that start with 'a', except those that
                        start with 'ab', except 'abc', which is included

所以在你的情况下添加到命令行:

exclude:NotWorking

或者

~NotWorking

推荐阅读