Контекст: я использую Python с Behave (BDD).
Выполняю ли мои тесты из командной строки (ведут себя) или из пользовательского main(), поведение одного и того же: тестовые прогоны и единственный вывод, который я вижу на консоли, является стандартным отчетом BDD.
Мои тесты включают команды print(), которые помогают мне отлаживать мой код. Однако ни один из этих операторов печати не отображается на выходе консоли при запуске.
Можно ли каким-либо образом "вести себя" отображать операторы печати в нашем коде?
Моя главная()
config = Configuration()
if not config.format:
default_format = config.defaults["default_format"]
config.format = [ default_format ]
config.verbose = True
r = runner.Runner(config)
r.run()
if config.show_snippets and r.undefined_steps:
print_undefined_step_snippets(r.undefined_steps)
Мой файл test.feature:
Feature: My test feature with the Behave BDD
Scenario: A simple test
Given you are happy
When someone says hi
Then you smile
Мой файл test_steps.py:
from behave import given, when, then, step, model
@given('you are happy')
def step_impl(context):
pass
@when ('someone says {s}')
def step_impl(context, s):
context.message = s
print("THIS IS NEVER DISPLAYED IN THE CONSOLE")
pass
@then ('you smile')
def step_impl(context):
assert(context.message == "hi")