我对我的测试套装进行了一些测试,我想检查最后一次测试的结果。最干净的方法是什么?它遵循一个例子:
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),但它对我来说似乎并不优雅。
答案 0 :(得分:2)
应该编写测试,以便它们可以按任何顺序运行。我花了一段时间接受这一点,但是当我这样做时,测试变得更加容易。
要做的最好的事情是针对不同的功能区域使用不同的测试类,以便在遇到许多故障时缩小正在运行的测试范围。
例如,我的一个测试套件包含以下类:
class TestPathBasics(TestCase):
...
class TestPathStringMethods(TestCase):
...
class TestPathFileOperations(TestCase):
...
然后从命令行我可以运行:
python -m antipathy.test TestPathBasics
运行一组测试,甚至
python -m antipathy.test TestPathBasics.test_addition
进行单一测试。
要真正回答你的问题:我会使用类属性,可能还有装饰器,如果我真的,真的,绝对必须以某种顺序运行它们并且需要了解最后一次测试。