如何运行所有PyTest断言,即使其中一些失败了?

11 浏览
0 Comments

如何运行所有PyTest断言,即使其中一些失败了?

我正在寻找一种方法来运行PyTest中所有单元测试中的所有断言,即使其中一些断言失败了。我知道肯定有一种简单的方法来做到这一点。我查看了CLI选项并在该网站上查找了类似的问题/答案,但没有找到任何信息。如果这个问题已经被解答过了,对不起。

例如,考虑以下代码片段,其中包含PyTest代码:

def parrot(i):
    return i
def test_parrot():
    assert parrot(0) == 0
    assert parrot(1) == 1
    assert parrot(2) == 1
    assert parrot(2) == 2

默认情况下,执行在第一个失败时停止:

$ python -m pytest fail_me.py 
=================== test session starts ===================
platform linux2 -- Python 2.7.10, pytest-2.9.1, py-1.4.31, pluggy-0.3.1
rootdir: /home/npsrt/Documents/repo/codewars, inifile: 
collected 1 items 
fail_me.py F
=================== FAILURES ===================
___________________ test_parrot ___________________
    def test_parrot():
        assert parrot(0) == 0
        assert parrot(1) == 1
>       assert parrot(2) == 1
E       assert 2 == 1
E        +  where 2 = parrot(2)
fail_me.py:7: AssertionError
=================== 1 failed in 0.05 seconds ===================

我想要做的是,在PyTest遇到第一个失败后继续执行代码。

0