Cypress 10 几天前发布,其中包含大量重大重大更改。作为第一次 Cypress 用户(从 Protractor 和 Cucumber 迁移),我没有意识到这一点。我正在尝试使用 Cucumber 安装 Cypress,但所有文档(也许还有
cypress-cucumber-preprocessor
插件本身)都是为 Cypress 9 编写/配置的。
是否有人在 Angular 项目中成功配置或迁移了 Cypress 10
cypress-cucumber-preprocessor
,如果是,步骤是什么?
您可以继续执行 Cypress 10 及以上版本安装期间要求迁移的默认步骤。但是,在少数文件夹/文件名更改中,'integration' 文件夹名称更改为 'e2e',如果您在框架中使用 cypress-cucumber-preprocessor / BDD 设置,这将使测试运行失败。
为了使其正常工作,您可以按照以下步骤操作:
变更前: 常量相对路径 = confStepDefinitions ||
cypress${path.sep}integration
;
更改后: 常量相对路径 = confStepDefinitions ||
cypress${path.sep}e2e
;
完成此操作后,如果您触发测试,它应该会成功。
注意:还有其他库文件中仍然包含“集成”文件夹路径,您可以根据需要更改这些文件。我刚刚在这里回答了这个问题。
提出了一个问题更新插件以与 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