Python / Django - 针对列表进行测试

时间:2017-04-27 20:20:39

标签: python django python-3.x unit-testing

我刚接触python测试和一般测试,并寻找一种方法来编写一个测试函数,并针对元组的不同元素多次运行此函数。

更准确地说,有一个元组由不同的数据库查询组成,我都想测试。所有这些查询的结果共享相同的模式,因此我认为重用测试这些结果的代码是合理的。

据我所知,将参数传递给单位测试被认为是不好的做法,这似乎也是合理的。这让我有点无能为力。为每个查询编写一个函数将很难维护,因为新的查询不断添加到此元组
我还希望通过python manage.py test myapp -v=2获取元组的每个元素的详细结果(FAIL或ok),因此将完整的元组放在一个函数的执行中似乎也是一个糟糕的方法。

就像标题所示,我的代码存在于django环境中 我很乐意使用django测试框架,所以我可以使用python manage.py test执行此测试。

实施此测试的好方法是什么?

1 个答案:

答案 0 :(得分:1)

这些有时被称为参数化测试,nose-parameterized是支持它的一个很棒的python包。

它允许您定义单个测试函数并提供参数集合。它将为每个提供的参数动态创建一个命名的可引用测试函数。

元组有多大?是否真的有必要测试元组中的每个查询?如果它们共享相同的模式,只需要获取一部分查询就足够了吗?