PyCharm社区版:如何在控制台运行Feature文件并显示print输出?
PyCharm社区版运行Feature文件无print输出的解决办法
先检查步骤匹配是否正确
你的Feature文件里的步骤是Given user just wants to print please,但Python步骤代码里的装饰器是@given("user just want to print please")——注意到没?Feature里是wants(带s),代码里是want(不带s),这会导致步骤无法匹配。如果你的实际代码也是这样,先把装饰器里的文本改成和Feature完全一致,否则这个步骤根本没被执行,自然不会有print输出。
强制刷新print输出缓冲区
有时候Python的print输出会被缓冲区暂存,无法实时显示到终端。给print语句加上flush=True参数:
print("Hello", flush=True)
改用logging模块输出
Cucumber的运行环境可能会重定向标准输出,改用logging模块更稳定,输出也能正常显示:
import logging logging.basicConfig(level=logging.INFO) @given("user just wants to print please") def step_impl(context): # 你的原有代码... logging.info("Hello")
正确配置PyCharm的Cucumber运行环境
- 先安装
Cucumber for Python插件:打开PyCharm的Settings -> Plugins,搜索这个插件并安装,重启PyCharm。 - 创建Cucumber运行配置:
- 点击右上角运行配置下拉框,选择"Edit Configurations..."
- 点击"+"号,选择"Cucumber Python"
- 在配置页面:
- Name随便填,比如"Run Feature"
- Feature file or directory:选择你的Feature文件所在的文件夹(比如
features) - Steps directory:选择你的步骤代码所在的
steps文件夹 - Working directory:设置为项目根目录(不要选steps文件夹)
- Python interpreter:选择你项目用的虚拟环境解释器
- 保存配置后,点击运行,此时终端应该能看到输出。
直接用命令行运行behave
如果PyCharm配置还是有问题,直接在终端里切换到项目根目录,运行behave命令:
behave features/your_feature_file.feature
这样输出会直接显示在终端,避开PyCharm的配置问题。
内容的提问来源于stack exchange,提问作者Faith Berroya
相关产品推荐
相关产品推荐

