Pytest 退出代码

问题描述 投票:0回答:1

我通过以下方式构建了我的 pytest 类:

class Test_Exit_Code(object):
    
  def setup_class(cls):
      If 2==2:
         # stop execution of the test class


  def test_a(self):
     assert True==True

正如您在 setup_class 方法中看到的那样,我插入了一个 IF ,我想在 if 部分实现的是,如果某个条件似乎为 true 而不是注释,我想返回退出代码 5 ,即没有测试被收集了。 到目前为止我还没有找到任何方法来做到这一点。

python-3.x pytest exit-code
1个回答
1
投票

您可以尝试致电

pytest.exit()
。另外,您似乎缺少
classmethod
装饰器

import pytest

class Test_Exit_Code:
    @classmethod
    def setup_class(cls):
        if 2==2:
            pytest.exit("test exit code setup failed", returncode=5)

    def test_this_wont_run(self):
        assert True

    def test_neither_does_this(self):
        assert False

输出:

>python -m pytest test.py
============================================= test session starts =============================================
platform win32 -- Python 3.9.12, pytest-7.1.1, pluggy-1.0.0
rootdir: E:\Tane\Tiedostot\Ohjelmointi\anr_rotated
plugins: anyio-3.5.0
collected 2 items

test.py

============================================ no tests ran in 0.31s ============================================ 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!! _pytest.outcomes.Exit: test exit code setup failed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
© www.soinside.com 2019 - 2024. All rights reserved.