在 Angular 中使用 Cypress 10 配置 cypress-cucumber-预处理器

问题描述 投票:0回答:2

Cypress 10 几天前发布,其中包含大量重大重大更改。作为第一次 Cypress 用户(从 Protractor 和 Cucumber 迁移),我没有意识到这一点。我正在尝试使用 Cucumber 安装 Cypress,但所有文档(也许还有

cypress-cucumber-preprocessor
插件本身)都是为 Cypress 9 编写/配置的。

是否有人在 Angular 项目中成功配置或迁移了 Cypress 10

cypress-cucumber-preprocessor
,如果是,步骤是什么?

angular typescript cypress cypress-cucumber-preprocessor cypress-configuration
2个回答
4
投票

您可以继续执行 Cypress 10 及以上版本安装期间要求迁移的默认步骤。但是,在少数文件夹/文件名更改中,'integration' 文件夹名称更改为 'e2e',如果您在框架中使用 cypress-cucumber-preprocessor / BDD 设置,这将使测试运行失败。

为了使其正常工作,您可以按照以下步骤操作:

  • 转到项目文件夹下的node_modules
  • 并导航到路径 -> /node_modules/cypress-cucumber-preprocessor/lib/stepDefinitionPath.js
  • 修改下面这行代码

变更前: 常量相对路径 = confStepDefinitions ||

cypress${path.sep}integration

更改后: 常量相对路径 = confStepDefinitions ||

cypress${path.sep}e2e

e2e change

完成此操作后,如果您触发测试,它应该会成功。

注意:还有其他库文件中仍然包含“集成”文件夹路径,您可以根据需要更改这些文件。我刚刚在这里回答了这个问题。


3
投票

提出了一个问题更新插件以与 Cypress 10 #722 兼容,该更新正在进行中,包括 Cypress 团队和 Badeball。

我的经验是插件迁移是一个问题,根据danbord

这些功能由 cypress 检测到,但运行时我最终得到“TypeError [ERR_INVALID_ARG_TYPE]:“path”参数必须是字符串类型。收到未定义”

但其他人声称它可以工作,包括far11ven,他在这里分享了一个仓库。

我正在使用“cypress-cucumber-preprocessor”:“^4.2.0”

这是一个相当旧的版本,来自 TheBrainFamily,不再在他们的存储库中列出。


现已解决

RC状态下,参见722#issuecomment-1153256645

© www.soinside.com 2019 - 2024. All rights reserved.