paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例
参数可以是元组、数据、字典,其中字典中定义的形参要与字典中的key值一致
1.官方文档地址:https://pypi.python.org/pypi/ParamUnittest/
2.github源码下载地址:https://github.com/rik0/ParamUnittest
import time
import unittest
import paramunittest
from common.logger import MyLog
logger = MyLog()
data = [['login', '/login', 222, 'post', '200'],
['login_error', '/login', '000', 'post', '000'],
['login_null', '/login', '999', 'post', '999']
]
@paramunittest.parametrized(*data)
class TestDemo1(unittest.TestCase):
def setParameters(self, case_name, path, query, method, result):
self.queryparamter = {"name": "xiaoming", "pwd": "111"}
self.case_name = case_name
self.path = path
self.query = query
self.method = method
self.result = result
def description(self):
"""
test report description
:return:
"""
self.query
def testCase(self):
time.sleep(1)
self.queryparamter['pwd'] = self.query
logger.info('----------测试开始--------')
logger.info(self.case_name)
logger.info(self.path)
logger.info(self.query)
logger.info(self.method)
logger.info(self.result)
logger.info(self.queryparamter)
self.assertTrue(self.result == self.result)
logger.info(self.assertTrue(self.result == self.query))
logger.info('----------测试结束--------')
time.sleep(1)
if __name__ == "__main__":
unittest.main(verbosity=2)