gpt4 book ai didi

PyTest 抑制结果调试语句

转载 作者:行者123 更新时间:2023-12-02 03:14:02 27 4
gpt4 key购买 nike

我正在使用带有以下选项的 PyTest:-s , -v , 和 --resultlog=results.txt .这会抑制我的测试中的打印语句,但会在运行时打印测试名称和结果并将结果记录到 results.txt .

但是,如果任何测试失败,我也会得到大量包含回溯、调试等的信息。因为无论如何我都将其记录到文件中,所以我不希望它打印到屏幕上,使我的输出变得困惑。

有什么方法可以仅禁用这些调试语句的打印,但仍将其记录到我的结果文件中?

视觉示例:

目前,我看到这样的事情:

$ py.test -sv --resultlog=results.txt test.py
=============================== test session starts =========================
platform darwin -- Python 2.7.10, pytest-2.9.1, py-1.4.31, pluggy-0.3.1 -- /...
cachedir: .cache
rootdir: /Users/jdinkel/Documents, inifile:
plugins: profiling-1.1.1, session2file-0.1.9
collected 3 items

test.py::TestClass::test1 PASSED
test.py::TestClass::test2 PASSED
test.py::TestClass::test3 FAILED

===================================== FAILURES ==============================
__________________________________ TestClass.test3 __________________________
self = <test.TestClass instance at 0x10beb5320>

def test3(self):
> assert 0
E assert 0

test.py:7: AssertionError
========================== 1 failed, 2 passed in 0.01 seconds ===============

但我想看到这个:
$ py.test -sv --resultlog=results.txt test.py
=============================== test session starts =========================
platform darwin -- Python 2.7.10, pytest-2.9.1, py-1.4.31, pluggy-0.3.1 -- /...
cachedir: .cache
rootdir: /Users/jdinkel/Documents, inifile:
plugins: profiling-1.1.1, session2file-0.1.9
collected 3 items

test.py::TestClass::test1 PASSED
test.py::TestClass::test2 PASSED
test.py::TestClass::test3 FAILED

========================== 1 failed, 2 passed in 0.01 seconds ===============
results.txt 没有变化文件。

最佳答案

您应该使用 tb用于控制回溯的开关。

例如pytest tests/ -sv --tb=no --disable-warnings--disable-warnings禁用偶尔的 pytest 警告,我认为您也不想要。

来自 pytest 帮助:

--tb=style traceback print mode (auto/long/short/line/native/no).

关于PyTest 抑制结果调试语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38133001/

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