gpt4 book ai didi

unit-testing - Pycharm 单元测试交互式调试命令行不起作用

转载 作者:行者123 更新时间:2023-12-04 03:08:43 24 4
gpt4 key购买 nike

在调试单元测试时(通过 pycharm 测试运行器),可以打开交互式命令行,但是(与调试常规脚本时不同)输入的命令不会产生任何输出。事实上,似乎 stdout 正在某处被捕获,因为 stderr 按预期工作:

>>> print "a"
>>> import sys
>>> sys.stderr.write("moof")
moof
>>> sys.stdout.write("moof")
>>> sys.stderr.write("test")
test

这是预期的行为吗?我真的很喜欢交互式调试控制台,如果它在调试单元测试时也表现得很好,那就太棒了。

最佳答案

这可能是因为您的测试运行程序正在捕获 stdout 而不是 stderr。

我用 py.test其中captures both stdout and stderr所以我根本看不到任何输出。如果我想看到输出,我必须通过 -s标记到我的 py.test 运行器,这可以通过修改运行/调试配置并将此标志添加到选项字段来完成。
(运行 > 编辑配置 > 默认值 > Python 测试 > py.test > 将 -s 添加到“附加参数”字段。)

>>> print 'a'
a
>>> import sys
>>> sys.stderr.write('moof')
moof
>>> sys.stdout.write('moof')
moof
>>> sys.stderr.write('test')
test

注: -s标志同样可以与 nose tests 一起使用

关于unit-testing - Pycharm 单元测试交互式调试命令行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17806099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com