我正在使用 Pycharm 编写测试并使用 behave 运行它们。我正在使用 cli 运行行为命令。为了编写功能和场景,我正在使用 Pycharm。我如何调试每个步骤?
你需要 Pycharm Professional 来轻松设置调试。只需创建运行/调试配置,选择行为框架,然后指定功能文件文件夹和行为参数。
否则,如果您没有 PyCharm Professional,您可以只创建基本的 Python 配置,指定模块行为并在参数中输入功能文件夹的路径。
如果您没有 PyCharm proffesional 并且想要从命令启动行为,您可以求助于众所周知的技术,即在您认为必要的任何地方放置带有调试信息的打印件,以帮助您解决可能的错误。
要在控制台中显示这些打印,您必须使用 --no-capture 选项启动 behave 命令。一个例子是:
Feature: Test
Scenario: Scenario title
Given This is one step
from behave import *
@given("This is one step")
def step_impl(context):
print("I'm executing this code??")
@given("this is other setp")
def step_impl(context):
print("or I'm executing this other code??")
behave --no-capture features/test.feature
$ behave --no-capture features/test.feature
Feature: Test # features/test.feature:1
Scenario: Scenario title # features/test.feature:3
Given This is one step # steps/steps.py:4
I'm executing this code??
1 feature passed, 0 failed, 0 skipped
1 scenario passed, 0 failed, 0 skipped
1 step passed, 0 failed, 0 skipped, 0 undefined
Took 0m0.000s
如您所见,打印会准确告诉您正在运行的步骤。使用这种技术,您可以通过打印变量值或查看代码的执行流程来调试代码。
可以从控制台逐步调试。 在您希望测试停止的任何地方调用函数
breakpoint()
,然后使用 --no-capture
标志启动测试。
一旦执行到达断点,您将有一个 Pdb 控制台准备好接收命令。