我正在conftest.py
的pytest的pytest_sessionstart
中进行一些验证,如果验证失败,我会提出ValueError
。
这行得通,但是打印错误非常残酷,有许多INTERNALERROR
行,使其难以阅读。
我只是想通过错误消息来寻找更干净的东西。有办法吗?
答案 0 :(得分:1)
使用pytest.exit
:
import pytest
def precondition():
raise ValueError('precondition failed')
def pytest_sessionstart(session):
try:
precondition()
except ValueError as err:
pytest.exit(str(err), returncode=1)
示例输出:
$ pytest
Exit: precondition failed
!!!!!!!!!!!!!!!!!!!!!!!! _pytest.outcomes.Exit: precondition failed !!!!!!!!!!!!!!!!!!!!!!!!!