使用py.test
运行测试时,通常会以一个字符的形式将测试结果打印在控制台上,即通过的测试为点“。”,失败的测试为“ F”,并且错误为脚本是“ E”。
我想抑制此输出;没有F,E等。我尝试在conftest.py
中执行以下操作:
import pytest
@pytest.hookimpl(hookwrapper=False)
def pytest_report_teststatus(report):
return report.outcome, "", report.outcome.upper()
事实上,它确实抑制了输出!
但是,不利的一面是,这神奇地增加了最后报告的数字。因此,我收到了3(!)个测试,而不是1个测试:
=============================================================================== 3 passed in 0.06 seconds ================================================================================
但这是完整的测试脚本:
class TestSuite(object):
def test1(self):
assert True
该如何解决?因此,输出仅报告1(一项)通过测试,而测试结果(.FE)是否被抑制?