Cucumber 可以“--require”超过 1 个文件夹吗?

Can Cucumber '--require' more than 1 folder?

我可以 --require 超过 1 个不同的文件夹吗? --require 之后可以出现第 2 个或第 3 个参数吗?

这是正确的语法吗?

cucumber --require ./folder1/ ./folder2/ --tags ${groups} --format json -o cucumber.json

是的,Ruby Cucumber 可以 --require(或 -r)多个文件夹。 cucumber --help 没有明确说明它是否受支持,但这是一个简单的实验,对我来说很有效。但是,您需要在每个需要的目录之前说 ---require。例如,如果您想要 --require folder1folder2,请执行

cucumber --require folder1 --require folder2

如果您 --require 任何文件夹,Cucumber 不再隐式需要 features,所以如果例如您在 features 中有步骤定义,在 folder1 中有一些支持代码,您需要明确地 --require 它们:

cucumber --require features --require folder1

注意--require只控制需要Ruby代码;即使使用 --require,Cucumber 默认情况下仍会查找 features 中的特征。但是你可以要求它 运行 多个功能或功能目录:

cucumber features1 features2

同样,如果您为 运行 指定了某些功能,但仍想在 features 目录中使用 运行 功能,您必须明确说明:

cucumber features features1

请仔细考虑是否要要求 运行 使用您的 Cucumber 套件的每个人都必须了解其非标准结构。对于每个人来说,在支持文件中要求您需要的代码可能更容易。例如,如果 folder1 有一个文件 folder1.rb,而不是 运行ning Cucumber with --require folder1 每次你可以在 support/folder1.rb 和 运行黄瓜通常:

require_relative '../../folder1/folder1.rb'