unittest测试用例和测试报告
一、单元测试框架:
unittest(python自带的),pytest(第三方库)
编写测试用例—收集测试用例—执行用例—生成测试结果
二、编写测试用例
1、创建测试类:类名称建议以Test开头,必须继承unittest.TestCase
class TestLogin(unittest.TestCase):
2、测试用例:
2.1、必须写在测试类里面
2.2、函数名称必须是test开头
2.3、执行顺序,按照ASCII码顺序执行
2.4、执行器配置:File—setting—tools—Python Integrated Tools–Defalut test runner—选择unittest
3、执行
3.1、不需要初始化
3.2、需要配置执行器
4.测试用例包含:
4.1、前置条件:执行这个场景的前提条件(非必要)
函数级别:每个用例执行之前执行一次
类级别:每个测试类执行之前执行一次
4.2、业务逻辑:接口需要处理的
根据业务情况封装处理
4.3、断言:将期望结果,与实际结果进行对比
==:比对值
is:比对内存地址
self.assertEqual(1, 1) 比对是否相等
如果不成立,就会抛出异常,unittest框架就会根据这个异常去将对应的测试用例标记为失败
4.4、后置清理:清理测试数据
函数级别:每个用例执行结束之后执行一次
类级别:每个测试类执行结束之后执行一次
4.5测试报告
测试类&测试用例
import unittest
class TestLogin(unittest.TestCase):# def setUp(self) -> None:# print('每个函数执行之前--执行我')## def tearDown(self) -> None:# print('每个函数执行结束后--执行我')## @classmethod# def setUpClass(cls) -> None:# print('测试类执行之前--执行我,只执行一次')## @classmethod# def tearDownClass(cls) -> None:# print('测试类执行结束之后--执行我,只执行一次')def test_login_01(self):#业务逻辑print('test02_login_01')self.assertEqual(1,1) #first;期望结果,second:实际结果def test_login_02(self):print('test02_login_02')self.assertEqual(1, 2)def test_login_03(self):print('test02_login_03')self.assertEqual(1, 1)
测试用例执行步骤
1、实例化测试套件(unittest.TestSuite)
2、将测试用例添加到测试套件
3、创建用例运行器
4、将测试套件放到运行器执行
5、测试报告
Tunittest.estLoader:加载用例
unittest.TestSuite:测试套件类,收集测试用例
unittest.TextTestRunner():运行测试用例
三、收集测试用例
1、添加单个测试用例【了解】
suite = unittest.TestSuite()
suite.addTest(类(‘测试用例名称/函数名称test’))
2、添加多个测试用例【了解】
类(‘测试用例名称/函数名称test’)
test_case_list =[TestLogin(‘test_login_01’),TestLogin(‘test_login_02’),TestLogin(‘test_login_03’)]
suite.addTests(test_case_list)
3、添加整个测试类【了解】(跑整个类)
suite.addTest(unittest.makeSuite(TestLogin))
4、TestLoader(用例收集)
dir_path = os.path.dirname(file)
print(dir_path)
suite = unittest.defaultTestLoader.discover(start_dir=dir_path,pattern=‘unittest_*.py’)
四、测试报告
1、TextTestRunner 自带的,不友好,不要用
2、HTMLTestRunner 无人维护了,无法安装
3、BeautifulReport 第三方库,需要另外安装
suite = unittest.defaultTestLoader.discover(start_dir=dir_path)
reports = BeautifulReport(suites=suite)
reports.report(description=‘测试报告’,filename=‘html_report.html’)
4.unittestreport
filename=“report.html”,
report_dir=".",
title=‘测试报告’,
tester=‘测试员’,
desc=“XX项目测试生成的报告”,
templates=1 # 测试报告模板,1,2,3
import os
import unittest
from BeautifulReport import BeautifulReport
from unittestreport import TestRunner# 目录/项目1、项目2
from test01 import TestLogin# 创建测试套件
suite = unittest.TestSuite()# 添加测试用例到测试套件
suite.addTest(TestLogin('test_login_01'))# 添加多个测试用例
test_case_list =[TestLogin('test_login_01'),TestLogin('test_login_02'),TestLogin('test_login_03')]suite.addTests(test_case_list)# 添加测试类
suite.addTest(unittest.makeSuite(TestLogin))# 创建运行器
# run = unittest.TextTestRunner()
# run.run(suite)
# ,pattern='unittest_*.py'
# dir_path = os.path.dirname(__file__)
# print(dir_path)suite = unittest.defaultTestLoader.discover(start_dir=dir_path)
# start_dir:测试用例目录
# pattern='test*.py':需要执行的测试用例文件名称,默认是test开头,可以自定义
# top_level_dir=None#测试报告:BeautifulReport
dir_path = os.path.dirname(__file__)
print(dir_path)
suite = unittest.defaultTestLoader.discover(start_dir=dir_path)
reports = BeautifulReport(suites=suite)
reports.report(description='py39期测试报告',filename='html_report.html')#测试报告:unittestreport
dir_path = os.path.dirname(__file__)
print(dir_path)
suite = unittest.defaultTestLoader.discover(start_dir=dir_path)
runner = TestRunner(suite=suite,filename='test03_report_py39',tester='海励',desc='py39期测试报告',templates=3)
runner.run()
unittest测试用例和测试报告相关推荐
- selenium自动化测试、Python单元测试unittest框架以及测试报告和日志输出
部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,Tex ...
- 设计用例测试下面的python程序def do_你能变形python的unittest测试用例吗?
^{} library被设计为采用您编写的测试方法和一些数据场景,为(test method×scenario)的每个组合生成单独的测试用例.在 例如:import unittest import t ...
- unittest 生成BeautifulReport测试报告,DDT用例描述,读取yaml参数
安装BeautifulReport库 pip install BeautifulReport 安装ddt库 pip install ddt 1,修改ddt.py def wrapper(cls):fo ...
- python 框架 优化_python+unittest框架第六天unittest之优化测试报告
今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告.案例的部分看第五天的批量执行笔记~ HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车 ...
- 自动化测试——unittest生成HTML测试报告
#全部执行并生成html测试报告 import unittest #导入模板 from Iweb.tools.HTMLTestReportCN_New import HTMLTestRunner fr ...
- 集成unittest与html测试报告
常用断言: self.assertTrue() self.assertEqual() 集成HtmlTestRunner生成测试报告: testcase=unittest.TestSuite() tes ...
- 单元测试|unittest生成测试报告
unittest生成测试报告 测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告. 使用第三方 HTMLTestRunner 执行测试用例集,生成网页 ...
- 单元测试——Unittest(测试报告)
测试报告生成 测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础. 首先我们需要拿到开发写的代码,查看其逻辑关系,确认 ...
- Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件
目录 一.项目结构介绍 1.mztestpro测试项目 2.bbs目录 3.test_case 二.编写公共模块 三.编写Page Object 四.编写测试用例 五.执行测试用例 小结: 本人在网上 ...
最新文章
- 如何管理项目中外包开发人员、测试人员
- 手把手教你安装OpenStack——Ocata安装指南(上)
- Design Pattern - Interpreter(C#)
- HTTP协议header头域
- 计算机控制技术黄勤,微型计算机控制技术 教学课件 黄勤 第3章微型计算机控制系统的常用控制.ppt...
- SQL Server-外部联接基础回顾(十三)
- ping/pong模式_PING的完整形式是什么?
- xp可以装java6不_XP系统XMind 6中缺失安装java环境
- 燕山大学计算机考研专硕专业课,燕山大学(专业学位)计算机技术研究生考试科目和考研参考书目...
- Java Media Framework 基础教程
- 高人,不断地在营销, 有收入就是高人
- 各操作系统存储设备表示方法
- JDK6中synchronized优化之自旋锁、锁擦除、锁粗化
- ​发那科机器人PROFINET 主站配置
- VPX,CompactPCI serial 总线
- android之textview属性介绍
- 统计字符 c语言程序,统计字符个数C语言程序.doc
- 元胞自动机与疏散模型的matlab算法,元胞自动机模拟多出口疏散模型的matlab实现...
- Hybrid App 开发快速指南
- 帝国采集发布-帝国免规则采集发布