python-3.x - unittest - 检查之前测试的结果

标签 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)的东西,但对我来说它似乎并不优雅。

最佳答案

测试应编写为可以按任何顺序运行。我花了一段时间才接受这一点,但当我接受时,测试变得容易多了。

最好的办法是针对不同的功能区域使用不同的测试类,这样如果您遇到很多失败,就可以缩小正在运行的测试的范围。

例如,我的一个测试套件具有以下类:

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/

相关文章:

python-3.x - 无法将一个文件导入到另一个文件中

Python 中的函数设置全局变量(无意)

python - 我想在通过变量播放视频时检测扬声器的音量

Python unittest 仅跳过一个子类的测试

python - Setuptools - 当测试不在主目录中时如何运行 unittest 测试套件?

python - 提取文件名并将其用作 Pandas 中 DataFrame 的标签

python - 在嵌套 for 循环内就地修改文件

eclipse - 使用 PyDev 时如何停止/禁用 PyUnit

java - 在java中模拟一个不是参数的方法中的对象,类似于下面的python代码?

flask - 如何模拟用 Python Flask route() 装饰的方法