我对我的测试服进行了一些测试,我想检查上次测试的结果。最干净的方法是什么?下面是一个例子:
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)的东西,但对我来说它似乎并不优雅。
最佳答案
测试应编写为可以按任何顺序运行。我花了一段时间才接受这一点,但当我接受时,测试变得容易多了。
最好的办法是针对不同的功能区域使用不同的测试类,这样如果您遇到很多失败,就可以缩小正在运行的测试的范围。
例如,我的一个测试套件具有以下类:
class TestPathBasics(TestCase):
...
class TestPathStringMethods(TestCase):
...
class TestPathFileOperations(TestCase):
...
然后从命令行我可以运行:
python -m antipathy.test TestPathBasics
运行一组测试,甚至
python -m antipathy.test TestPathBasics.test_addition
运行单个测试。
要真正回答你的问题:如果我真的、真的、绝对必须按特定顺序运行它们并且需要了解有关最后一个测试的一些信息,我会使用类属性,可能与装饰器一起使用。
关于python-3.x - unittest - 检查之前测试的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555825/