一、单元测试框架:

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测试用例和测试报告相关推荐

  1. selenium自动化测试、Python单元测试unittest框架以及测试报告和日志输出

    部分内容来自:https://www.cnblogs.com/klb561/p/8858122.html 一.基础介绍 核心概念:test case, testsuite, TestLoder,Tex ...

  2. 设计用例测试下面的python程序def do_你能变形python的unittest测试用例吗?

    ^{} library被设计为采用您编写的测试方法和一些数据场景,为(test method×scenario)的每个组合生成单独的测试用例.在 例如:import unittest import t ...

  3. unittest 生成BeautifulReport测试报告,DDT用例描述,读取yaml参数

    安装BeautifulReport库 pip install BeautifulReport 安装ddt库 pip install ddt 1,修改ddt.py def wrapper(cls):fo ...

  4. python 框架 优化_python+unittest框架第六天unittest之优化测试报告

    今天的内容主要是,用第三方的HTMLRUNner 第三方的报告来优化之前第五天批量执行案例的测试报告.案例的部分看第五天的批量执行笔记~ HTMLRUNner他可以生成更美观的测试报告,基于前辈造的车 ...

  5. 自动化测试——unittest生成HTML测试报告

    #全部执行并生成html测试报告 import unittest #导入模板 from Iweb.tools.HTMLTestReportCN_New import HTMLTestRunner fr ...

  6. 集成unittest与html测试报告

    常用断言: self.assertTrue() self.assertEqual() 集成HtmlTestRunner生成测试报告: testcase=unittest.TestSuite() tes ...

  7. 单元测试|unittest生成测试报告

    unittest生成测试报告 测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest 可以生成测试报告. 使用第三方 HTMLTestRunner 执行测试用例集,生成网页 ...

  8. 单元测试——Unittest(测试报告)

    测试报告生成 测试报告是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础. 首先我们需要拿到开发写的代码,查看其逻辑关系,确认 ...

  9. Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件

    目录 一.项目结构介绍 1.mztestpro测试项目 2.bbs目录 3.test_case 二.编写公共模块 三.编写Page Object 四.编写测试用例 五.执行测试用例 小结: 本人在网上 ...

最新文章

  1. 如何管理项目中外包开发人员、测试人员
  2. 手把手教你安装OpenStack——Ocata安装指南(上)
  3. Design Pattern - Interpreter(C#)
  4. HTTP协议header头域
  5. 计算机控制技术黄勤,微型计算机控制技术 教学课件 黄勤 第3章微型计算机控制系统的常用控制.ppt...
  6. SQL Server-外部联接基础回顾(十三)
  7. ping/pong模式_PING的完整形式是什么?
  8. xp可以装java6不_XP系统XMind 6中缺失安装java环境
  9. 燕山大学计算机考研专硕专业课,燕山大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  10. Java Media Framework 基础教程
  11. 高人,不断地在营销, 有收入就是高人
  12. 各操作系统存储设备表示方法
  13. JDK6中synchronized优化之自旋锁、锁擦除、锁粗化
  14. ​发那科机器人PROFINET 主站配置
  15. VPX,CompactPCI serial 总线
  16. android之textview属性介绍
  17. 统计字符 c语言程序,统计字符个数C语言程序.doc
  18. 元胞自动机与疏散模型的matlab算法,元胞自动机模拟多出口疏散模型的matlab实现...
  19. Hybrid App 开发快速指南
  20. 帝国采集发布-帝国免规则采集发布

热门文章

  1. 用excel读取东京奥运会的金牌排行榜信息
  2. 使用TensorFlow的卷积神经网络识别手写数字(3)-识别篇
  3. 十七项网页恶意代码,别去害人啊!
  4. 浅谈曲线的几何连续性
  5. 【TARS】基于TARS的调试
  6. 栈的应用——数制转换
  7. 速学堂高淇老师java作业,公用电话传递数据进行加密
  8. 黑苹果EFI文件,戴尔DELL-OptiPlex-7060and7070-Catalina
  9. 快收藏,2023有这些财务分析模板就够了
  10. svn建立分支linux,linux命令——svn分支創建、合並