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理论相关推荐

  1. Web自动化测试理论知识

    Web 自动化理论知识 1.自动化测试概述 概念:用工具代替/辅助人工完成完成软件测试活动的过程 特点:     可以对程序的新版本自动执行回归测试     可以执行一些手工测试困难或不可能进行的测试 ...

  2. unittest教程(2w字实例合集)——Python自动化测试一文入门

     " 本文通过理论讲解+大量实例演示,全面介绍了unittest测试框架的使用方法,文章层层深入,环环相扣,建议按顺序阅读,如遇不清楚的地方可翻看上文注释部分,一般都会有详细标明,阅读过程中 ...

  3. 面试题总结(测试理论)

    测试理论 B/S架构和C/S架构区别 B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题(浏览器的内核不同) C/S 架构需要考虑系统在不同平台的安装.卸载.升级 HTTP协议 超文本传输协议,应 ...

  4. 中级认证宝典【全理论】

    中级认证宝典 ----------------------全是理论,可能会有点枯燥--------------------------- 一.HTTP/FTP的应用 1 HTTP GET:可以返回一串 ...

  5. Unittest自动化测试框架教程(四)——Python中的数据驱动测试DDT

     " 数据驱动测试DDT(Data Drivern test),是自动化测试领域优势中亮眼的闪光点,在unittest测试框架中对数据驱动更是提供了强大的支持,文章通过基础概念的引入,介绍了 ...

  6. 理论+实操:MHA高可用配置及故障切换

    文章目录 一:案例概述 1.1 传统的mysql主从架构存在的问题 二:案例前置知识点 2.1 MHA概述 2.2 MHA的组成 2.3 MHA特点 三:案例环境--拓扑图 四:案例实施 4.1 搭建 ...

  7. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  8. LLVM数据流分析的理论

    LLVM数据流分析的理论 标量优化(scalar目录): 死代码消除(BDCE.cpp[code],ADCE.cpp[code],DCE.cpp[code]), 全局值编号(GVN.cpp[code] ...

  9. 参数服务器训练基本理论

    参数服务器训练基本理论 参数服务器训练是分布式训练领域普遍采用的编程架构,主要解决以下两类问题: • 模型参数过大:单机内存空间不足,需要采用分布式存储. • 训练数据过多:单机训练太慢,需要加大训练 ...

最新文章

  1. j-link接口定义及实际使用
  2. poj1192 最优连通子集(树形dp)
  3. SigmaStar SSD201 开源记录
  4. 摄影类网站解析及推荐
  5. 多线程—线程池Executor框架及四种常用线程池
  6. 如何用Jquery做图片展示效果
  7. 关于shell脚本编程一些有用资源的小结
  8. python分行_基于python实现对文件进行切分行
  9. Iterator迭代器接口讲解
  10. “ Value of nested property ‘teacher‘ is null”内部嵌套对象为空的问题
  11. 一个批量转换文本文件编码的程序(Python)
  12. L3-021 神坛 (30 分)-PAT 团体程序设计天梯赛 GPLT
  13. 常用idea快捷键大全
  14. 马哥python培训班靠谱吗
  15. 我的非计算机科班好友,斩获了十几个 offer
  16. windy定义了一种windy数,不含前导零且前两个数字只差至少为2的正整数被称为windy数,求A和B之间windy数的个数
  17. 利用PRM-DUL工具恢复oracle dbf文件中的数据
  18. 【Shader与ShaderToy 】画一个五角星
  19. 关于CSS3:justify-self,justify-items和justify-content之间的区别
  20. 通常把计算机网络定义为什么?,通常把计算机网络定义为什么

热门文章

  1. 书本知识太枯燥?体验一次动手又动脑的项目制吧
  2. (JLK105D)中山爆款LED恒流电源芯片方案
  3. 网易邮箱登陆页面HTML5
  4. 前端js分享插件运用(空间,QQ,微信,微博,豆瓣)
  5. snownlp学习-微博情感分析
  6. 自动判断QQ是否在线,并显示在线状态
  7. DSPack各种使用方法
  8. 愿世间美好与你环环相扣
  9. 最近有一本你必须关注的书《敏捷测试实战指南》
  10. Skype for business聊天记录保存在outlook中乱码