接口测试中,一个接口需要测试不同传参场景,每个场景写一个测试方法,会导致脚本冗长,查找修改时也不方便,可以使用unittest参数化parameterized模块,将传参参数化后,减少测试方法数量。
具体用法:
import unittest from nose_parameterized
import parameterized, param
class TestAdd(unittest.TestCase):
@parameterized.expand([
param("11", 11), param("10", 16, base=16),
])
def test_int(self, str_val, expected, base=10):
self.assertEqual(int(str_val, base), expected)
if __name__ == '__main__':
unittest.main()
How to work:
test_int会运行两组参数:
第一组:(str_val=”11”, expected=11, base=10)
第二组:(str_val=”10”, expected=16, base=16)
即在@parameterized.expand的param中可以默认指定参数的值,且此值不会随方法的变量改变