unitTest理论
unitTest:
通过直接导入UnitTest包即可实现
主要用于管理测试用例和实现数据驱动
一、unittest单元测试框架和自动化测试框架的关系
单元测试:指的是针对我们程序的最小单元(方法)进行测试。
unittest它是自动化框架的重要组成部分之一。
Pom,是自动化框架的重要组成部分之一
ddt数据驱动,是自动化框架的重要组成部分之一
全局配置文件封装,是自动化框架的重要组成部分之一
selenium二次封装,是自动化框架的重要组成部分之一
日志监控,是自动化框架的重要组成部分之一
断言,邮件发送。。。。。。
二、单元测试框架对比
基于python语言:unittest和pytest
基于java语言:junit和estng
1、用例编写规则
unittest:提供了testcases测试用例、testsuits测试事件、testfixtures测试固件或夹具、testloader测试加载器、 testrunner测试运行器。必须遵守以下规则:
(1)测试文件必须先导入import unittest
(2)测试类必须继承unittest.TestCase
(3)测试方法必须以test开头
Pytest:它是python的第三方测试框架。基于unittest的扩展框架,必须遵守以下规则:
(1)测试文件名必须以test_开头或者_test结尾。
(2)测试类命令必须以Test开头
(3)测试方法必须test开头
2、用例的前置和后置
Unittest:
setUp/teatDown 在每个用例之前或之后运行一次。
打开浏览器,加载网页/关闭网页,关闭浏览器
setUpClass/tearDownClass 在每个类运行之前或之后运行一次
创建数据库连接,创建日志对象/关闭数据库连接,销毁日志对象
setUpModule/tearDownModule 在每个模块之前和之后执行一次
Pytest:(在类的里面属于方法,类的外面属于函数)
方法级:setup_mothod/teardown_mothod 在方法之前和之后
setup/teardown
函数级:setup_function/teardown_function 在函数之前和之后
类级:
setup_class/teardown_class 在类之前和之后
模块:
setup_module/teardown_module
还有,还可以在函数之前加@pytest.fixture()
3、断言
unittest:assertTrue、assertEqual、assertln
pytest:assert
4、报告
unittest:htmltestrunner
pytest:插件:pytest-HTML、allure
5、失败重跑
unittest:没有
pytest:pytest_runnfailures插件
6、数据驱动
Unittest:ddt
Pytest:@pytest.mark.parametrize装饰器
7、用例分类执行
unittest默认执行所有,也可以通过testsuite来执行部分用例,或者-k参数。
Pytest:@pytest.mark
三、unittest框架主要做了什么?
1、测试发现:从多个py文件中收集并且加载测试用例
2、测试执行:将测试用例按照一定的顺序和条件去执行并且生成结果
3、测试判断:通过断言去判断结果是否正确
4、测试报告:统计测试进度,通过率,生成报告
四、unittest重要组件
1.TestCase
2.TestSuite
3.TestFixture
4.TestLoader
5.TestRunner
unitTest理论相关推荐
- Web自动化测试理论知识
Web 自动化理论知识 1.自动化测试概述 概念:用工具代替/辅助人工完成完成软件测试活动的过程 特点: 可以对程序的新版本自动执行回归测试 可以执行一些手工测试困难或不可能进行的测试 ...
- unittest教程(2w字实例合集)——Python自动化测试一文入门
" 本文通过理论讲解+大量实例演示,全面介绍了unittest测试框架的使用方法,文章层层深入,环环相扣,建议按顺序阅读,如遇不清楚的地方可翻看上文注释部分,一般都会有详细标明,阅读过程中 ...
- 面试题总结(测试理论)
测试理论 B/S架构和C/S架构区别 B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题(浏览器的内核不同) C/S 架构需要考虑系统在不同平台的安装.卸载.升级 HTTP协议 超文本传输协议,应 ...
- 中级认证宝典【全理论】
中级认证宝典 ----------------------全是理论,可能会有点枯燥--------------------------- 一.HTTP/FTP的应用 1 HTTP GET:可以返回一串 ...
- Unittest自动化测试框架教程(四)——Python中的数据驱动测试DDT
" 数据驱动测试DDT(Data Drivern test),是自动化测试领域优势中亮眼的闪光点,在unittest测试框架中对数据驱动更是提供了强大的支持,文章通过基础概念的引入,介绍了 ...
- 理论+实操:MHA高可用配置及故障切换
文章目录 一:案例概述 1.1 传统的mysql主从架构存在的问题 二:案例前置知识点 2.1 MHA概述 2.2 MHA的组成 2.3 MHA特点 三:案例环境--拓扑图 四:案例实施 4.1 搭建 ...
- etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理
1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...
- LLVM数据流分析的理论
LLVM数据流分析的理论 标量优化(scalar目录): 死代码消除(BDCE.cpp[code],ADCE.cpp[code],DCE.cpp[code]), 全局值编号(GVN.cpp[code] ...
- 参数服务器训练基本理论
参数服务器训练基本理论 参数服务器训练是分布式训练领域普遍采用的编程架构,主要解决以下两类问题: • 模型参数过大:单机内存空间不足,需要采用分布式存储. • 训练数据过多:单机训练太慢,需要加大训练 ...
最新文章
- j-link接口定义及实际使用
- poj1192 最优连通子集(树形dp)
- SigmaStar SSD201 开源记录
- 摄影类网站解析及推荐
- 多线程—线程池Executor框架及四种常用线程池
- 如何用Jquery做图片展示效果
- 关于shell脚本编程一些有用资源的小结
- python分行_基于python实现对文件进行切分行
- Iterator迭代器接口讲解
- “ Value of nested property ‘teacher‘ is null”内部嵌套对象为空的问题
- 一个批量转换文本文件编码的程序(Python)
- L3-021 神坛 (30 分)-PAT 团体程序设计天梯赛 GPLT
- 常用idea快捷键大全
- 马哥python培训班靠谱吗
- 我的非计算机科班好友,斩获了十几个 offer
- windy定义了一种windy数,不含前导零且前两个数字只差至少为2的正整数被称为windy数,求A和B之间windy数的个数
- 利用PRM-DUL工具恢复oracle dbf文件中的数据
- 【Shader与ShaderToy 】画一个五角星
- 关于CSS3:justify-self,justify-items和justify-content之间的区别
- 通常把计算机网络定义为什么?,通常把计算机网络定义为什么