Python Unittest与数据驱动
2024-09-06 12:57:38
python中有一个装饰器类DDT,通过它我们可以复用代码,达到数据驱动测试的目的,该类的官方介绍可以参考
http://ddt.readthedocs.io/en/latest/index.html
安装ddt方式很简单,直接在cmd命令行输入:pip install ddt ,完成安装即可。
下面看一个简单的例子:
import unittest
from practise.myTestPractice.api_login import *
import ddt @ddt.ddt
class Praddt(unittest.TestCase): def setUp(self):
print("my test start!") def tearDown(self):
print("my test complete!") @ddt.data(["admin", "1qaz", "OK"],
["admin", "", "ERROR"],
["", "1qaz", "ERROR"],
["admin", "", "ERROR"],
["Admin", "1qaz", "ERROR"])
@ddt.unpack
def test_ddt(self, user, passwd, expect_value):
result = Login.login(user, passwd)
self.assertEqual(result, expect_value, msg=result)
上面展示一个简单的测试类,测试对象是一个登录函数login,当用户、密码正确时,返回OK,用户或密码错误返回ERROR。我们在测试类上加上装饰器@ddt.ddt ,在测试方法上加上装饰器data和unpack,并把测试数据如上模式放在data中。
执行测试:
从unittest运行出的测试结果可以看出,我们共执行了5条测试用例,分别对应了data中的5条测试数据。也就是
说我们通过一个测试方法就依次读取到了五条测试数据及其预期结果,代码量会精简不少。
最新文章
- TYPESDK手游聚合SDK客户端远程开关:渠道支付黑名单
- ArcgisAdd-In开发入门实例
- Unknow Unknow
- 数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)
- Scrapy中的item是什么
- C#中检测某个类(方法、程序集等各种部分)是否应用了指定的特性以及对特性的一些简单操作
- hdu1026
- js--学习方法之-转
- Page directive must not have multiple occurrences of pageencoding
- struts2-学习笔记(三)
- BIRT实现组内跨行计算
- 全球排名第一的开源ERP Odoo v12 最新一键安装体验版正式发布
- dubbo配置多个注册中心
- MySQL安装指南(转)
- 基础006_pg109_IP-Xfft
- BUG(1):一个关于指针的bug
- linux系统cpu和内存占用率
- 16S 基础知识、分析工具和分析流程详解
- Mininet安装,简单实现一个网络拓扑结构
- xml的相关知识