如何正确地在pytest中失败pytest_sessionstart

时间:2019-02-27 02:58:10

标签: python pytest

我正在conftest.py的pytest的pytest_sessionstart中进行一些验证,如果验证失败,我会提出ValueError

这行得通,但是打印错误非常残酷,有许多INTERNALERROR行,使其难以阅读。

我只是想通过错误消息来寻找更干净的东西。有办法吗?

1 个答案:

答案 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 !!!!!!!!!!!!!!!!!!!!!!!!!