我有动态的测试量,所以我想用于循环 我会尝试类似的事情:
from nose.tools import istest, nottest
from nose.tools import eq_
import nose
nose.run()
@istest
def test_1():
for i in range(100):
@istest
def test_1_1():
eq_(randint(1,1),1)
---------------------
Ran 1 test in 0.001s
OK
但鼻子只显示一次测试。如何将其改进为100次测试? 提前谢谢。
答案 0 :(得分:2)
对于鼻子中的数据驱动测试,请查看nose_parameterized
。
使用示例:
from nose_parameterized import parameterized
@parameterized.expand([(1, 1, 2), (2, 2, 4)])
def test_add(self, a, b, sum):
self.assertEqual(sum, a + b)
这里,跑步者将生成两个测试。它会测试1+1==2
和2+2==4
。装饰器还与其他测试运行器兼容,例如unittest
。