博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python习题:unittest参数化-数据从文件或excel中读取
阅读量:5234 次
发布时间:2019-06-14

本文共 1925 字,大约阅读时间需要 6 分钟。

''' unittest参数化:从文件和excel中读取 ''' import os import xlwt,xlrd class DataToParam(object):     @classmethod     def file_exist(cls,filename):         if os.path.isfile(filename):# 判断文件是否存在             return True         raise Exception('参数化文件不存在')  # raise 主动抛出异常     @classmethod # 静态方法不需要实例化就可以调用     def read_text(cls,filename,seq=','):#seq是分隔符         cls.file_exist(filename)         with open(filename,encoding='utf-8') as f:             # f.seek(0)             res = []             for line in f:                 res.append(line.strip().split(seq))             return res # print(DataToParam.read_text('data.txt'))     @classmethod     def read_excel(cls,excelname):         cls.file_exist(excelname)         book =xlrd.open_workbook(excelname) # 打开文件         sheet = book.sheet_by_index(0) # 操作sheet         res=[]         for i in range(sheet.nrows):# 循环 excel 的所有行数             res.append(sheet.row_values(i)) # sheet.row_value(i)取excel里面的每一行数据,返回的是一个list         return res # print(DataToParam.read_excel('data.xls')) # print(DataToParam.read_excel(r'C:\Users\Administrator\Documents\data.xls'))
''' unittest参数化 ''' import unittest import nose_parameterized from eg05 import DataToParam def calc(a,b):     a=float(a)     b=float(b)     res=round(a/b,2)     print(res)     return res # case_data = [ #     [1,1,1.00], #     [1,0,0], #     [0.5,1,0.50], #     [1,2,0.50], #     [1,3,0.33], #     [1,4,0.25] # # ] class MyTest(unittest.TestCase):     #@nose_parameterized.parameterized.expand(DataToParam.read_text(case_data))     # @nose_parameterized.parameterized.expand(DataToParam.read_text('data.txt'))     @nose_parameterized.parameterized.expand(DataToParam.read_excel(r'C:\Users\Administrator\Documents\data.xls'))     def test_func(self,a,b,e):         res =calc(a,b)         self.assertEqual(res,float(e)) if __name__ == '__main__':     unittest.main()
 

转载于:https://www.cnblogs.com/blackbird0423/p/8543678.html

你可能感兴趣的文章
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
【练习】使用事务和锁定语句
查看>>
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
评价意见整合
查看>>
二、create-react-app自定义配置
查看>>
Android PullToRefreshExpandableListView的点击事件
查看>>
系统的横向结构(AOP)
查看>>
linux常用命令
查看>>