
Frame--ddt
发布日期:2021-05-14 12:23:08
浏览次数:17
分类:精选文章
本文共 2376 字,大约阅读时间需要 7 分钟。
文章目录
1. ddt框架介绍
数据驱动的单元测试是为数据源中的每一行重复运行的一种单元测试。
2. ddt使用
import unittestfrom ddt import ddt, data, unpacktest_data = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'a': 5, 'b': 6}, {'a': 7, 'b': 8}, {'a': 9, 'b': 10},]@ddt # ddt:装饰测试类class Testmul(unittest.TestCase): @data(*test_data) # 装饰测试数据 def test_mul(self, item): x = item['a'] y = item['b'] print('两个数的乘积是{}'.format(x*y))if __name__ == '__main__': unittest.main()>两个数的乘积是2 两个数的乘积是12 两个数的乘积是30 两个数的乘积是56 两个数的乘积是90
import unittestfrom ddt import ddt, data, unpacktest_data = [[1, 2], [3, 4], [5, 6], [7, 8]]@ddt # ddt:装饰测试类class Testmul(unittest.TestCase): @data(*test_data) # 装饰测试用例 @unpack def test_mul(self, a, b): print('两个数的乘积是{0}'.format(a * b))if __name__ == '__main__': unittest.main()>两个数的乘积是2 两个数的乘积是12 两个数的乘积是30 两个数的乘积是56
3. 出现的问题
1. 报告出现:dict() -> new empty dictionary解决办法:(https://www.cnblogs.com/yhleng/p/9805125.html)
4. 代码
# test_case.pyimport unittestfrom ddt import ddt,data,unpackfrom zy.code import Subfrom zy.do_excel import DoExcelfrom zy.conf import ReadConfigbutton = ReadConfig().read_config('case.conf', 'SECTION', 'button')case_no = eval(ReadConfig().read_config('case.conf', 'SECTION', 'case_id')) # 配置文件读取的数据默认为字符串test_data = DoExcel().read_data(button, case_no)@ddt # ddt:装饰测试类class TestSub(unittest.TestCase): def setUp(self): self.t = Sub() self.wb = DoExcel() @data(*test_data) def test_sub(self, item): print('用例标题:{}'.format(item['title'])) res = self.t.sub(item['param_a'], item['param_b']) try: self.assertEqual(res, item['ExpectedResult']) test_result = 'PASS' except AssertionError as e: test_result = 'FAIL' raise e finally: self.wb.write_back(item['case_id']+1, res, test_result) def tearDown(self): print('测试完成了')
# excute_case.pyimport unittestfrom zy import test_caseimport HTMLTestRunnerNewsuite = unittest.TestSuite()loader = unittest.TestLoader()suite.addTest(loader.loadTestsFromModule(test_case)) # 加载模块的所有用例with open('TestResult.html', 'wb+') as file: runner = HTMLTestRunnerNew.HTMLTestRunner(file, title='减法测试', description='第二轮整体回归测试减法方法的正确性', tester='华杰-zy') runner.run(suite)
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月12日 18时09分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
什么是接口
2021-05-14
2020版nodejs12.18.3安装配置教程
2021-05-14
iview组件库中,Form组件里的Input,无法正确绑定on-enter事件
2021-05-14
记录-基于springboot+vue.js实现的超大文件分片极速上传及流式下载
2021-05-14
JavaScript高级程序设计第四版学习记录-第九章代理与反射
2021-05-14
怎么解决Windows 10文件/文件夹正在使用无法删除
2021-05-14
matlab函数:fix 向0取整
2021-05-14
ORCAD创建元件库时,格点对不起怎么办
2021-05-14
Allegro中如何消除器件本身Pin间距报错
2021-05-14
AD中拖动器件,无法移动在一起如何解决
2021-05-14
linux--练习001-基础类型
2021-05-14
Flask--简介
2021-05-14
Flask模板--过滤器与测试器
2021-05-14
16 python基础-恺撒密码
2021-05-14
06.1 python基础--结构控制
2021-05-14
Frame--Api框架
2021-05-14
idea 在Debug 模式中运行语句中函数的方法
2021-05-14
springboot2.1.1开启druid数据库连接池并开启监控
2021-05-14