本文主要是介绍Python ddt+xlrd的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
做了个数据驱动ddt和表格结合使用的练习,如下:
1、表格的后缀为.xls,表格中数值的类型必须是文本型,否则打印出来的数值后面多了.0,即1.0
2、读取表格代码:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import xlrddef readxls():xl=xlrd.open_workbook('testdata.xls') #打开Excel表格sheet1 = xl.sheet_by_name('Sheet1') #指定表1listdata= [] #定义空列表,用来存放读取出来的每行数据for i in range(1, 5): #循环1~5(不包含5),即循环4次j = sheet1.row_values(i, 0, 2) #读取第i行的第0~2列(不含第2列)listdata.append(j) #读一行追加一行存入listdata中# print(listdata)return listdata #返回列表
3、将从表格读出来的数据与ddt结合使用,代码:
方法一:
from ddt import ddt,data,unpack
import unittest
from readexcel import readxlsdatatest=readxls()
@ddt
class BiJiao(unittest.TestCase):@data(*datatest) #分离数据def test_bijiao(self,data):a,b=data #将列表的值赋值给a,bprint('a取值={0},b取值={1},两者相加={2}'.format(int(a),int(b),int(a)+int(b)))if __name__=='__main__':unittest.main()
方法二:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from ddt import ddt,data,unpack
import unittest
from readexcel import readxlsdatatest=readxls()
@ddt
class BiJiao(unittest.TestCase):@data(*datatest) #分离数据@unpackdef test_bijiao(self,a,b):print('a取值={0},b取值={1},两者相加={2}'.format(int(a),int(b),int(a)+int(b)))if __name__=='__main__':unittest.main()
方法三:
from ddt import ddt,data,unpack
import unittest
from readexcel import readxlsdatatest=readxls()
@ddt
class BiJiao(unittest.TestCase):@data(*datatest) #分离数据@unpackdef test_bijiao(self,*data):a,b=data #将列表的值赋值给a,bprint('a取值={0},b取值={1},两者相加={2}'.format(int(a),int(b),int(a)+int(b)))if __name__=='__main__':unittest.main()
4、打印结果
这篇关于Python ddt+xlrd的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!