首页 > 解决方案 > Cypress-cucumber - 如何将步骤存储在与功能相同的目录中

问题描述

我试图弄清楚如何在与功能文件相同的目录中停止我的步骤文件。我使用了 cypress-cucumber 页面中的基本设置教程。

我的问题是这个。

我有一个功能文件

集成/功能/ test.feature

为了让测试运行,我必须将我的步骤文件放在 integration/feautres/ test /test.js 中

我想要做的是将我的步骤文件存储在诸如 integration/feautres/test.js 之类的功能旁边

是否有可能做到这一点?

标签: cypresscypress-cucumber-preprocessor

解决方案


不幸的是,这实际上是不可能的。使用 cypress-cucumber-preprocessor,您有两个选项来存储您的步骤定义:

  1. 在您的配置中,设置nonGlobalStepDefinitionstrue,它将在您现在拥有的设置中查找特定于功能的步骤(即/featureName/featureName.js)。使用此选项,所有全局步骤都将存储在cypress/integration/common.
  2. 在您的配置中,设置nonGlobalStepDefinitionsfalse,这将使您的步骤保持全局,并且它们将位于cypress/support/step_definitions.

我想可以使用选项 1,然后将您的步骤定义和功能文件存储在cypress/integration/common目录中。但是,如果这样可行,那么随着测试和步骤定义的扩展,这会让您头疼(想想拥有数百或数千个全局可访问的步骤定义并意外创建重复项......它很快就会变得混乱)。

就个人而言,我强烈建议不要这样做。


推荐阅读