Python Behave – ConfigError: нет каталога шагов в []

Следуя руководству по настройке поведения (https://behave.readthedocs.io/en/latest/tutorial.html), я получаю сообщение об ошибке ConfigError: No steps directory.

Моя файловая структура:

VS Code/TestingAutomationPOC/
VS Code/TestingAutomationPOC/features/
VS Code/TestingAutomationPOC/features/steps/
VS Code/TestingAutomationPOC/features/steps/tutorial.py
VS Code/TestingAutomationPOC/feature/tutorial.feature

Установлено поведение (1.2.6) через pip.

Добавлено "python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"] в пользовательские настройки, что устранило мою проблему с импортом, но не помогло с этой ошибкой конфигурации.

От tutorial.py:

from behave import *

@given('we have behave installed')
def step_impl(context):
    pass

@when('we implement a test')
def step_impl(context):
    assert True is not False

@then('behave will test it for us!')
def step_impl(context):
    assert context.failed is False

От tutorial.feature:

Feature: showing off behave

  Scenario: run a simple test
     Given we have behave installed
      When we implement a test
      Then behave will test it for us!

Что я делаю не так?


person Wes    schedule 26.08.2019    source источник
comment
Будет ли это работать, если вы перейдете в свой каталог TestingAutomationPOC и запустите оттуда behave? Я подозреваю, что вы запускаете команду поведения из каталога, отличного от того, в котором находится ваш файл features, и поведение не знает, где искать.   -  person Levi Noecker    schedule 27.08.2019


Ответы (2)


Ваш рабочий каталог в VisualStudio, вероятно, неверен.

СОВЕТЫ:

  • Распечатайте командную строку, как выполняется поведение
  • Распечатать текущий рабочий каталог для этого выполнения (cmd-shell: %CD%)
  • Предоставьте свой собственный скрипт Python «my_behave.py» для запуска поведения. Он может легко показать/распечатать приведенную выше диагностику.
person jenisys    schedule 22.09.2019

Я столкнулся с подобной проблемой. Прежде всего, вам нужно убедиться, что путь к папке правильный. Во-вторых, создайте папку steps внутри папки вашего проекта features. теперь запустите команду behave с именем файла функции или без имени файла, она должна работать.

├── feature [folder]
│   |── steps [folder]
├── filename.feature [file]
person Diptman    schedule 24.02.2021