unittest - 检查上一次测试的结果

时间:2014-07-03 14:02:14

标签: python-3.x python-unittest

我对我的测试套装进行了一些测试,我想检查最后一次测试的结果。最干净的方法是什么?它遵循一个例子:

def test_01_first(self):
    if condition:
       assert False

def test_02_second(self):
    if first_test_has_failed:
       do_something...

我在想类似于一个类属性(cls.test_failed = 1),但它对我来说似乎并不优雅。

1 个答案:

答案 0 :(得分:2)

应该编写测试,以便它们可以按任何顺序运行。我花了一段时间接受这一点,但是当我这样做时,测试变得更加容易。

要做的最好的事情是针对不同的功能区域使用不同的测试类,以便在遇到许多故障时缩小正在运行的测试范围。

例如,我的一个测试套件包含以下类:

class TestPathBasics(TestCase):
    ...

class TestPathStringMethods(TestCase):
    ...

class TestPathFileOperations(TestCase):
    ...

然后从命令行我可以运行:

python -m antipathy.test TestPathBasics

运行一组测试,甚至

python -m antipathy.test TestPathBasics.test_addition

进行单一测试。

要真正回答你的问题:我会使用类属性,可能还有装饰器,如果我真的,真的,绝对必须以某种顺序运行它们并且需要了解最后一次测试。