我刚接触python测试和一般测试,并寻找一种方法来编写一个测试函数,并针对元组的不同元素多次运行此函数。
更准确地说,有一个元组由不同的数据库查询组成,我都想测试。所有这些查询的结果共享相同的模式,因此我认为重用测试这些结果的代码是合理的。
据我所知,将参数传递给单位测试被认为是不好的做法,这似乎也是合理的。这让我有点无能为力。为每个查询编写一个函数将很难维护,因为新的查询不断添加到此元组。
我还希望通过python manage.py test myapp -v=2
获取元组的每个元素的详细结果(FAIL或ok),因此将完整的元组放在一个函数的执行中似乎也是一个糟糕的方法。
就像标题所示,我的代码存在于django环境中
我很乐意使用django测试框架,所以我可以使用python manage.py test
执行此测试。
实施此测试的好方法是什么?
答案 0 :(得分:1)
这些有时被称为参数化测试,nose-parameterized是支持它的一个很棒的python包。
它允许您定义单个测试函数并提供参数集合。它将为每个提供的参数动态创建一个命名的可引用测试函数。
元组有多大?是否真的有必要测试元组中的每个查询?如果它们共享相同的模式,只需要获取一部分查询就足够了吗?