使用 Pycharm 调试 python-behave 的步骤

问题描述 投票:0回答:3

我正在使用 Pycharm 编写测试并使用 behave 运行它们。我正在使用 cli 运行行为命令。为了编写功能和场景,我正在使用 Pycharm。我如何调试每个步骤?

python pycharm python-behave
3个回答
7
投票

你需要 Pycharm Professional 来轻松设置调试。只需创建运行/调试配置,选择行为框架,然后指定功能文件文件夹和行为参数。

Screenshot of the valid configuration

否则,如果您没有 PyCharm Professional,您可以只创建基本的 Python 配置,指定模块行为并在参数中输入功能文件夹的路径。

Screenshot of the valid configuration


1
投票

如果您没有 PyCharm proffesional 并且想要从命令启动行为,您可以求助于众所周知的技术,即在您认为必要的任何地方放置带有调试信息的打印件,以帮助您解决可能的错误。

要在控制台中显示这些打印,您必须使用 --no-capture 选项启动 behave 命令。一个例子是:

  • features/test.feature
Feature: Test

  Scenario: Scenario title
    Given This is one step
  • steps/steps.py
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

如您所见,打印会准确告诉您正在运行的步骤。使用这种技术,您可以通过打印变量值或查看代码的执行流程来调试代码。


0
投票

可以从控制台逐步调试。 在您希望测试停止的任何地方调用函数

breakpoint()
,然后使用
--no-capture
标志启动测试。

一旦执行到达断点,您将有一个 Pdb 控制台准备好接收命令。

© www.soinside.com 2019 - 2024. All rights reserved.