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

如何在NX工作区中按标签运行Cypress回归/冒烟测试

解决NX中按Cypress标签筛选测试的问题

问题根源

你使用的--tags=@regression是NX的项目筛选参数,作用是过滤NX工作区中的项目,而非传递给@cypress/grep用于筛选测试用例标签,所以NX会执行整个e2e项目的所有测试,不会触发标签筛选。

解决方案

方案1:命令行直接传递Cypress Grep参数

利用NX的参数传递规则,在命令末尾添加--,将Cypress grep的参数传递给底层的Cypress命令:

# 精准匹配标签
nx run e2e:e2e --env grepTags=@regression
# 或用grep参数匹配标签(也支持匹配测试名称)
nx run e2e:e2e --env grep=@regression

方案2:在project.json中配置专属运行配置

修改project.json的e2e target,添加一个regression配置项,预先设置grep参数:

{
  "targets": {
    "e2e": {
      "executor": "@nx/cypress:cypress",
      "options": {
        "cypressConfig": "e2e/cypress.config.ts",
        "devServerTarget": "",
        "testingType": "e2e"
      },
      "configurations": {
        "production": {
          "devServerTarget": ""
        },
        "regression": {
          "env": {
            "grepTags": "@regression"
          }
        }
      }
    }
  }
}

之后只需运行简化命令:

# 完整命令
nx run e2e:e2e --configuration=regression
# 缩写形式
nx run e2e:e2e -c regression

额外说明

  • 你的e2e.ts中registerCypressGrep()的注册是正确的,无需修改。
  • 若需要组合标签(比如包含@regression且排除@smoke),可传递grepTags=@regression -@smoke:
    nx run e2e:e2e --env grepTags=@regression -@smoke
    

内容的提问来源于stack exchange,提问作者Thanveer Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:35:22