Unittest的使用
一、简介
unittest是一个python版本的单元测试框架,可以用于python的单元测试
特点:
自动化测试用例的组织和管理
提供丰富的比较方法,完成结果的检查
提供执行过程数据,如:执行时间、执行结果等
• 语法
Test Case:一个TestCase实例就是一个测试用例,即一个test开头的测试函数。
Test Fixture:用于测试前的环境初始化和测试后的环境清理,通过setUp函数和tearDown函数完成。
Test Runner:unittest单元测试框架提供了TextTestRunner类来运行多个Test Suite或test case。
Test Suite:一个功能测试需要很多Test Case,可以多个测试用例统一进行执行,把多个用例加到一个Test Suite中。
• 测试模板
Import unittest
class Test(unittest.TestCase):
@classmethod #setUpClass只执行一次。如果使用setUp一个测试用例执行一次
def setUpClass(self):
print(“测试开始”)
def testoo1(self):
print(“测试用例一”)def testjf002(self):
print(“测试用例二”)
def testcf003(self):
print(“测试用例三”)@classmethod #teraDownClass执行一次 如果使用teraDown一个测试用例执行一次
def tearDown(self):
print(“测试结束’)#执行测试
If ‘__name__’ ==’__main__’:
Unittest.main()
• 断言
断言方法是 unittest 框架提供的一组方法,可以通过这些方法完成期望结果和实际结果的对比。常用方法有:
assert+空格+要判断语句+逗号+“报错语句” python提供
assertEqual(a,b,msg=None) 检查a==b,不等则报错
assertNotEqual(a,b,msg=None) 检查a!=b,相等则报错
assertIn(a,b,msg=None) 检查a in b,不在报错
assertNotIn(a,b,msg=None) 检查a not in b,在报错
assertTrue(a,msg=None) 检查表达式a成立,不成立报错
assertFalse(a,msg=None) 检查表达式a不成立,成立报错assertIsInstance(obj,cls,msg=None) 检查obj是cls一个实例,是则pass,不是就报错
assertNotIsInstance(obj,cls,msg=None)检查obj不是cls一个实例,不是则pass
• 执行的方法
#执行测试用例方法一
# if __name__ =="__main__":
# unittest.main()
#执行测试用例方法二
#创建测试套件
suite = unittest.TestSuite()
#添加测试用例
suite.addTest(Test('testcf004'))
#运行测试套件
runobj = unittest.TextTestRunner()
runobj.run(suite)
#执行测试用例方法三(批量导入)
#创建测试套件、添加测试用例
testsuite = unittest.defaultTestLoader.discover(r'./\test001',pattern='unittest断言.py')
#运行测试套件
runobj = unittest.TextTestRunner()
runobj.run(testsuite)
• 生成HTML测试报告
自动化测试执行完成以后,需要输出一个完整的测试报告,供测试人员查看测试执行情况,确认自动化测试执行发现的缺陷情况。
HTMLTestRunner是Python标准库的unittest单元测试框架的一个扩展,可以生成一个可读性很强的HTML格式的测试报告。
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下载HTMLTestRunner.py文件,然后将其复制到 D:\Python\Python37\Lib 下(以实际安装目录为准)
import HTMLTestRunner
#创建测试套件、添加测试用例testsuite = unittest.defaultTestLoader.discover(r'./\test001',pattern='unittest断言.py')
wenjian = open("测试报告.html",mode="ab") #创建存储测试报告的HTML文件#使用HTMLTestRunner方法执行测试套件,打印测试报告
HTMLTestRunner.HTMLTestRunner(stream=wenjian,title="简易计算器测试报告",description="简易计算器").run(testsuite)
python locust 压测
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:html 列表 demo
下一篇:一级地址索引表
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Locust性能测试III多进程压测
Locust支持在同一台机器上开启多线程执行压测,以Master和Slave的模式,各Slave将最终结果呈现在Master Web管理页面。
Locust Locust多线程压测 经验分享 -
Locust性能测试II分布式压测
单一机器往往不足以模拟足够的并发,Locust支持分布式压测的方式弥补并发量不足的场景
Locust 分布式压测 经验分享 -
Locust分布式压测常用命令
st 分布式压测主要有两个角色:Master 和 Worker。Ma
Locust html 压测 HTML -
rfid sdk开发 协议
EtherNet IP以太网IO接口工业读写器|读卡器CK-FR12-E01是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。读卡器同时支持标准工业通讯协议EtherNet IP,方便用户通集成到PLC等控制系统中。读卡器内部集成了射频部分通信协议,用户只需通过以太网接口接
rfid sdk开发 协议 EtherNet IP读写器 EtherNet IP读卡器 IO接口工业读写器 IO接口工业读卡器