@ddt @data(参数) 实验证明: 1、@data可传列表、元祖、字典 2、@data(参数)时,是把参数当做一个变量传入处理的#data是元祖 import requests,json,unittest from ddt import ddt,data,unpack @ddt class Test(unittest.TestCase): name=(('橙子','橘子'),('柠檬','柚子')) @data(name) def test(self,name): print(name) if __name__=='__main__': unittest.main() #"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py . ---------------------------------------------------------------------- Ran 1 test in 0.000s OK (('橙子', '橘子'), ('柠檬', '柚子')) Process finished with exit code 0 #data是列表 @ddt class Test(unittest.TestCase): name=[['橙子','橘子'],['柠檬','柚子']] @data(name)def test(self,name): print(name) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py [['橙子', '橘子'], ['柠檬', '柚子']] . ---------------------------------------------------------------------- Ran 1 test in 0.000s OK Process finished with exit code 0 #data是字典 @ddtclass Test(unittest.TestCase): name={'name':'王荔','age':11} @data(name) def test(self,name): print(name) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py . {'name': '王荔', 'age': 11} ---------------------------------------------------------------------- Ran 1 test in 0.000sOKProcess finished with exit code 0 @ddt @data(*参数) 实验证明: 1、@data可传列表、元祖、字典 2、@data(*参数)时,是把参数拆分成多个迭代次数 import requests,json,unittest from ddt import ddt,data,unpack @ddt class Test(unittest.TestCase): name=(('橙子','橘子'),('柠檬','柚子')) @data(*name) def test(self,name): print(name) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py .. ('橙子', '橘子') ---------------------------------------------------------------------- ('柠檬', '柚子') Ran 2 tests in 0.000s OK Process finished with exit code 0 @ddt class Test(unittest.TestCase): name=[['橙子','橘子'],['柠檬','柚子']] @data(*name) def test(self,name): print(name) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py .. ['橙子', '橘子'] ---------------------------------------------------------------------- ['柠檬', '柚子'] Ran 2 tests in 0.000s OK Process finished with exit code 0 @ddt class Test(unittest.TestCase): name=[{'name':'王荔','age':11},{'name':'王荔','age':11}] @data(*name) def test(self,name): print(name) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py .. {'age': 11, 'name': '王荔'} {'age': 11, 'name': '王荔'} ---------------------------------------------------------------------- Ran 2 tests in 0.001s OK Process finished with exit code 0 @ddt @data(*参数) @unpack 实验证明: 1、@data可传列表、元祖、字典 2、@data(*参数)时,是把参数拆分成多个迭代次数 3、@unpack 是把参数拆分成多个参数传入 import requests,json,unittest from ddt import ddt,data,unpack @ddt class Test(unittest.TestCase): name=(('橙子','橘子'),('柠檬','柚子')) @data(*name) @unpack def test(self,name1,name2): print(name1,name2) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py 橙子 橘子 柠檬 柚子 .. ---------------------------------------------------------------------- Ran 2 tests in 0.000s OK Process finished with exit code 0 @ddt class Test(unittest.TestCase): name=[['橙子','橘子'],['柠檬','柚子']] @data(*name) @unpack def test(self,name1,name2): print(name1,name2) if __name__=='__main__': unittest.main() "C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py .. 橙子 橘子 ---------------------------------------------------------------------- Ran 2 tests in 0.001s OK 柠檬 柚子 Process finished with exit code 0
上一篇: IT文化
下一篇: 软件测试之手工测试人员如何转测试开发?