zoukankan      html  css  js  c++  java
  • Pytest中使用pytest.exit中断用例执行

    有时候我们需要在运行一批用例前对环境进行检查,如果检查不通过则不运行所有的用例。
    实现的方法有3种:

    1. 使用-x参数,快速失败(遇到失败即停止运行):在第一个用例中进行检查,如果不通过则使用例失败,则后续用例不会执行。
      但是如果期望,后面的用例,失败了不影响下一条,则使用-x就不能支持。

    2. 添加一个全局的fixture,如

    import pytest
    
    @pytest.fixture(scope="session", auto_use=True):
       if ...:
           pytest.skip('环境检查不通过')
    

    首先,conftest.py会影响到所有的用例,我们可以把这一批用例放到一个目录中,在这个目录中添加contest.py,这样是可以的。
    如果脚本分布在各个目录中,则不行。

    1. 手动修改每一个模块,或用例,添加if ..: pytest.skip()@pytest.mark.skipIf(), 当用例较多时,修改成本较高

    2. 在第一个要执行的用例中使用pytest.exit()退出pytest执行,示例如下。

    当然,最推荐的还是在用例编写时就规划好环境检查,当环境不满足时使用@pytest.mark.skipIf()进行跳过。

  • 相关阅读:
    poj 1061 (扩展欧几里德算法)
    字符串 (扫一遍 + 计数)
    快排 + 二分
    勾股定理
    WD
    Acmer--弱水三千,只取一瓢
    朱光潜给青年的十二封信 之 谈升学和选课
    朱光潜给青年的十二封信 之 谈读书
    小白书--求 n!
    N阶行列式---常见的几种运算
  • 原文地址:https://www.cnblogs.com/superhin/p/15188976.html
Copyright © 2011-2022 走看看