通过 @badeball/cypress-cucumber-preprocessor 使用测试库 findby* 查询

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

我有一个反应应用程序,我正在尝试使用 badeball/cypress-cucumber-preprocessor 和测试库与 Cypress 进行测试,但我收到了错误

cy.findByRole is not a function

这是我当前的设置:

  • 反应脚本:5.0.1
  • 打字稿:4.8.3
  • 柏树:10.8.0
  • @badeball/cypress-黄瓜-预处理器:12.2.0
  • @testing-library/cypress:8.0.3
  • 节点:16.15.0

我创建了一个示例应用程序来演示该问题here

cypress.config.ts 的 e2e 部分有两种配置,可以通过注释掉一个并保留另一个来进行测试。第一个(当前配置的)将尝试将测试作为功能文件运行,但会失败。第二个配置使用正常的 cypress 测试,并将显示测试库功能在那里正常工作。

cypress.config.ts 中的 setupNodeEvents 函数并不完全遵循 badeball/cypress-cucumber-preprocessor 文档中的 webpack/ts 示例,因为该示例与 esModuleInterop 设置为 true 时效果不佳,而 esModuleInterop 在其他中使用我的应用程序的一部分,因此此配置是我尝试实现该功能的尝试。但我确实测试了该示例配置,但仍然无法使测试库功能正常工作。

我已经设置了脚本,因此您可以使用 nmp test 以 e2e 模式启动 cypress。

如有任何帮助,我们将不胜感激。

cucumber cypress cypress-cucumber-preprocessor cypress-testing-library
1个回答
1
投票

添加导入“@testing-library/cypress/add-commands”;每个步骤文件似乎都有效。无法识别来自 cypress/support/commands.ts 的导入。

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