You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Catch2测试标签中组合AND与OR逻辑筛选测试用例?

Catch2 精准筛选指定语言的ModelVerification测试用例

我有一组按语言和类型划分的Catch2测试用例,示例如下:

TEST_CASE("zh-CN CPU test", "[zh-CN][cpu]")
{
    REQUIRE(result);
}

TEST_CASE("zh-CN verification test", "[zh-CN][ModelVerification]")
{
    REQUIRE(result);
}

TEST_CASE("zh-HK CPU test", "[zh-HK][cpu]")
{
    REQUIRE(result);
}

TEST_CASE("zh-HK verification test", "[zh-HK][ModelVerification]")
{
    REQUIRE(result);
}

TEST_CASE("zh-TW CPU test", "[zh-TW][cpu]")
{
    REQUIRE(result);
}

TEST_CASE("zh-TW verification test", "[zh-TW][ModelVerification]")
{
    REQUIRE(result);
}

我希望仅运行zh-HK和zh-TW的ModelVerification测试,但使用[zh-HK],[zh-TW] [ModelVerification]时,Catch2会运行所有zh-HK、zh-TW的测试以及所有ModelVerification测试,请问该如何实现需求?


解决方案

使用Catch2的标签组合逻辑,将语言标签与类型标签绑定后再用逗号分隔实现“或”逻辑,具体命令行参数如下:

[zh-HK][ModelVerification],[zh-TW][ModelVerification]

逻辑说明

  • 每个[标签A][标签B]表示同时匹配标签A和标签B(逻辑与)
  • 逗号分隔的两组条件表示满足任意一组即可(逻辑或)

这样就能精准选中:

  • 同时带有zh-HK和ModelVerification标签的测试用例
  • 同时带有zh-TW和ModelVerification标签的测试用例

完全排除其他无关测试(比如zh-HK的CPU测试、zh-CN的ModelVerification测试等)。

内容的提问来源于stack exchange,提问作者Eric Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 08:45:28