unittest中数据参数化的两种方式如下:
方法1:
import unittest
import ddt
datas=[{"user": "admin", "psw": "123456", "result": "true"},
{"user": "admin_001", "psw": "123456", "result": "true"},
{"user": "admin_002", "psw": "123456", "result": "true"},
{"user": "admin_003", "psw": "123456", "result": "true"},
{"user": "admin_004", "psw": "123456", "result": "true"},]
@ddt.ddt
class Test(unittest.TestCase):
# @ddt.data(*datas)
@ddt.data(*datas)
def test_(self,d):
print("测试数据%s:"%d)
if __name__=="__main__":
unittest.main()
方法2:利用unittest的paramunittest实现
import unittest
import paramunittest
import time
@paramunittest.parametrized(
{"user": "admin_001", "psw": "123456", "result": "true"},
{"user": "admin_002", "psw": "123456", "result": "true"},
{"user": "admin_003", "psw": "123456", "result": "true"},
{"user": "admin_004", "psw": "123456", "result": "true"},
{"user": "admin_005", "psw": "123456", "result": "true"},
)
class TestDemos(unittest.TestCase):
def setParameters(self,user,psw,result):
self.user=user
self.psw = psw
self.result = result
def testcase(self):
print("测试用例开始.....")
time.sleep(0.5)
print("输入用户名:%s" %self.user)
# print("输入的用户名:%s"%self.user)
print("输入的用户名:%s" %self.psw)
print("输入的用户名:%s" %self.result)
time.sleep(0.5)
self.assertTrue(self.result=='true')
if __name__=="__main__":
unittest.main(verbosity=2)