【发布时间】:2014-10-22 10:41:36
【问题描述】:
我希望 TestCase 中的每个断言测试都经过实际测试,即使第一个测试失败。在我的情况下,所有断言都具有相同的性质。
实际上,我有一些东西可以评估编写为 Python 对象的公式(将其视为以字符串形式编写的公式为 eval'd)。我想做类似的事情:
class MyTest(TestCase):
def test_something(self):
for id in ids:
for expression in get_formulas(id):
for variable in extract_variables(expression):
self.assertIn(variable, list_of_all_variables)
=> 我想查看打印的所有不在list_of_all_variables 中的variables!
这是我复习我所有所谓的公式并能够纠正错误的必要条件。
更多上下文:
我要在一个应用程序中执行可变数量的测试(取决于写入版本化数据文件中的 ID 列表)。
为了拥有可变数量的 TestCase 实例,我确实编写了一个基类(mixin),然后使用 3-args type 函数(即创建类)构建动态类。
这样,我就有n测试,对应n不同的id。这是第一步,但我想要的是对这些测试中的每个断言进行测试,并打印相应的断言错误。
【问题讨论】:
-
@Louis 非常正确,但是该问题中的 OP 希望保留一个“有凝聚力”的断言列表,而我并不在乎。在继续我的类工厂工作时,我将发布一个适合我需求的解决方案
标签: python django unit-testing django-unittest