首页 > 解决方案 > 如何强制pytest返回错误码错误码

问题描述

我有以下结构:调用python脚本的Koholo作业,脚本在结束时返回错误代码(1 - 失败,0 - 通过)。Koholo 等待错误代码继续下一个作业步骤(下一个脚本)。现在我正在运行 pytest 脚本而不是 python 脚本(使用命令:python -m pytest test_name),但 pytest 没有返回错误代码,因此 Kohola 作业超时。请让我知道 pytest 是否有办法在完成时返回错误代码?

标签: pytest

解决方案


当 pytest 完成它调用pytest_sessionfinish(session, exitstatus)方法。尝试添加sys.exit(exitstatus)到此方法。

import sys


def pytest_sessionfinish(session, exitstatus):
    """ whole test run finishes. """
    sys.exit(exitstatus)

您也可以通过运行此脚本来检查退出代码

start /wait  python -m pytest test_name
echo %errorlevel%

推荐阅读