Pytest Xfail/Skip测试

Pytest Xfail/Skip测试

在本章中,我们将学习Pytest中的Skip和Xfail测试。

现在,考虑以下情况 –

  • 由于某些原因,一个测试在一段时间内没有意义。
  • 一个新功能正在实现,我们已经为该功能添加了一个测试。

在这些情况下,我们可以选择xfail测试或跳过测试。

Pytest将执行xfailed测试,但它不会被认为是失败或通过测试的一部分。即使测试失败,这些测试的细节也不会被打印出来(记得pytest通常会打印出失败的测试细节)。We can xfail tests using the following marker −

@pytest.mark.xfail

跳过一个测试意味着该测试将不被执行。We can skip tests using the following marker −

@pytest.mark.skip

后来,当测试变得相关时,我们可以删除这些标记。

编辑 test_compare.py ,我们已经包括了xfail和skip标记 —

import pytest
@pytest.mark.xfail
@pytest.mark.great
def test_greater():
   num = 100
   assert num > 100

@pytest.mark.xfail
@pytest.mark.great
def test_greater_equal():
   num = 100
   assert num >= 100

@pytest.mark.skip
@pytest.mark.others
def test_less():
   num = 100
   assert num < 200

使用以下命令执行测试—

pytest test_compare.py -v

执行上述命令后,将生成以下结果 −

test_compare.py::test_greater xfail
test_compare.py::test_greater_equal XPASS
test_compare.py::test_less SKIPPED
============================ 1 skipped, 1 xfailed, 1 xpassed in 0.06 seconds
============================

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程