Установите вывод и формат в Python, особенно в environment.py

Я могу запустить свой код поведения с параметрами --format и --outfile и работать как положено.

behave 00-test.feature --format json --outfile "C:/results.json"

Который даст мне результаты в формате JSON в C:/results.json.

Я хочу, чтобы избежать передачи этих переменных через поведение.ini и командной строки. Я хочу установить эти переменные в enviroment.py, чтобы я мог просто выполнить следующее из любого места:

behave 00-test.feature

В файле environment.py я перепробовал все возможные комбинации, и все они сводятся к этим трем переменным, но не повезло.

def before_all(context):
    ...
    context.config.outfiles = ["C:/results.json"]
    context.config.outputs = [StreamOpener("C:/results.json")]
    context.config.formatters = ['json']
    ...

Почему StreamOpener? https://github.com/behave/behave/blob/master/behave/configuration.py показывает, что выходные данные представляют собой список объектов StreamOpener.

Кто-нибудь знает правильный способ установки выходных файлов и форматеров в Python-ведут себя?

1 ответ

Это решение? Я запускаю его из другого модуля, как это

from behave import __main__ as behave_executable
behave_executable.main(args="--format json --outfile results.json")
Другие вопросы по тегам