pytest(十二)--skip跳过用例

前言

pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者你希望失败的测试功能

skip意味着只有在满足条件时才希望测试通过,否则pytest应该跳过运行测试。常见示例是在非windows平台上跳过仅限windows的测试,或跳过测试依赖于当前不可用的外部资源(例如数据库)。

xfail意味着您希望测试由于某种原因而失败。一个常见的例子是对功能的测试尚未实施,或尚未修复的错误。当测试通过时尽管预计会失败(标有pytest.mark.xfail),它是一个xpass,将在测试摘要中报告。

pytest计数并分别列出skip和xfail测试。未显示有关跳过/xfailed测试的详细信息默认情况下,以避免混乱输出。您可以使用-r选项查看与"short"字母对应的详细信息显示在测试进度中

pytest -rxXs # show extra info on xfailed, xpassed, and skipped tests

有关-r选项的更多详细信息,请运行pytest -h

skip

 

 代码:

# coding:utf-8
import pytest
def test_a():
    assert "a" in "ab"
@pytest.mark.skip(reason="no env,can't test")
def test_b():
    assert "c" in "ab"
if __name__=="__main__":
    pytest.main(["-s","test_fix1.py"])  

运行结果:

 

 skipif

 

 

 

 skip类或模块

 

 skip文件或目录

有时您可能需要跳过整个文件或目录,例如,如果测试依赖于特定于Python的版本功能或包含您不希望pytest运行的代码。在这种情况下,您必须排除文件或目录来自收藏。

skip缺少导入依赖项

 

 概要

 

posted on 2020-07-30 10:36  星空6  阅读(327)  评论(0编辑  收藏  举报

导航