如何在behave (BDD)中查看print()语句

8 浏览
0 Comments

如何在behave (BDD)中查看print()语句

背景:我在使用Python和Behave(BDD)。

无论我是从命令行(behave)还是从自定义的main()函数运行我的测试,行为都是一样的:测试运行,并且我在控制台上看到的唯一输出是标准的BDD报告。

我的测试包括print()语句,这些语句帮助我调试代码。然而,当我运行behave时,这些print语句都没有显示在控制台输出中。

有没有办法让"behave"显示我们代码中的print语句呢?

我的main()函数:

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: 使用Behave BDD的我的测试功能

Scenario: 一个简单的测试

Given 你很开心

When 有人打招呼

Then 你微笑

我的test_steps.py文件:

from behave import given, when, then, step, model
@given('你很开心')
def step_impl(context):
    pass
@when ('有人说{s}')
def step_impl(context, s):
    context.message = s
    print("这个从来没有在控制台中显示过")
    pass
@then ('你微笑')
def step_impl(context):
        assert(context.message == "hi")

0