Как запустить поведение нескольких функций, используя только имена функций

Я борюсь с запуском функций поведения, используя следующую команду:

behave feature_name_1 feature_name_2

Я хотел бы запустить несколько функций в одной команде, указав только имя функции или имя функции name.feature. Пока что я должен указать весь путь, где находится функция.


person Iwona    schedule 28.02.2020    source источник


Ответы (1)


Используйте -i или --include.

behave -i myfeature.feature

Это также можно использовать с шаблонами.

В качестве альтернативы используйте -n для соответствия именам ваших файлов:

behave -n myfeature1.feature -n myfeature2.feature

Из документации:

н, --имя

Выполняйте только те элементы функций, которые соответствуют части заданного имени. Если эта опция указана более одного раза, она будет соответствовать всем заданным именам.

Дополнительную информацию о выполнении определенных сценариев и т. д. можно найти в этот аналогичный вопрос; документацию здесь.

person Lunivore    schedule 01.03.2020
comment
поведение -i или даже с --include по-прежнему не работает. ConfigError: каталог шагов не отображается - person Iwona; 02.03.2020
comment
Пожалуйста, включите немного больше информации в вопрос. Что вы пробовали, что работает? Какая разница между этим и тем, что не работает? Что произойдет, если вы используете аргумент --verbose? - person Lunivore; 05.03.2020
comment
Это работает только с одной функцией? Если это так, попробуйте то, что предложил @manzanero - используйте -i между именами каждой функции. - person Lunivore; 05.03.2020
comment
да, это работает только для одной функции. Когда я использую -i между именами каждой функции, она будет запускать только вторую функцию. На примере: behave -i myfeature.feature -i myfeature2.feature - будет запущена только myfeature2.feature - person Iwona; 06.03.2020
comment
Итак, я взял второй из своего ответа; Спасибо, что дали мне знать. Вы пытались использовать шаблоны glob или regex с -i? У меня нет копии программного обеспечения, чтобы попробовать его. Что произойдет, если вы попробуете это с двумя и используете --verbose? Также попробуйте -n с несколькими именами функций -n featureone.feature -n feature2.feature, так как это соответствует именам, а не шаблонам. - person Lunivore; 09.03.2020