Да, Ruby огурца может --require
(или -r
) более чем в одной папке. cucumber --help
четко не говорит, поддерживается ли это, но это простой эксперимент, и он работает для меня. Однако вам нужно сказать ---require
перед каждым каталогом, который вам нужен. Например, если вы хотите --require
folder1
и folder2
, сделать
cucumber --require folder1 --require folder2
Если вы --require
любую папку, Огурцы больше не неявно не требует features
, так что если, например, у вас есть определения шага в features
и некоторую поддержку кода в folder1
вам нужно явно --require
их обоих:
cucumber --require features --require folder1
Обратите внимание, что --require
контролирует только требует багряной кода; даже с --require
, Cucumber по-прежнему ищет функции в features
по умолчанию. Но вы можете попросить его запустить несколько функций или каталогов функций:
cucumber features1 features2
Опять же, если указать некоторые функции для запуска и все еще хотите запустить функции в каталоге features
вы должны явно сказать так:
cucumber features features1
Уделите внимание тому, хотите ли вы, чтобы все, кто управляет вашим пакетом Cucumber, должны знать о своей нестандартной структуре. Возможно, всем будет проще требовать код, который вам нужен, в файле поддержки. Например, если folder1
имеет один файл folder1.rb
, вместо запуска Огурцы с --require folder1
каждый раз, когда вы могли бы поместить следующее в support/folder1.rb
и запустить Огурцы обычно:
require_relative '../../folder1/folder1.rb'
Рубин огурца или что-то еще? –