IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> unittest自动化测试-测试夹具TestFixtrue与忽略测试用例方法 -> 正文阅读

[开发测试]unittest自动化测试-测试夹具TestFixtrue与忽略测试用例方法

一、TestFixtrue

?

1、TestFixture简介

TestFixture用在测试方法前,或者测试方法后,主要功能是提供一些测试需要用的装置,这些装置可以是数据,可以是环境配置也可以是一个运行前状态。

2、TestFixture分类

(1)setup(), teardown()的方式,分别在每个测试方法执行前后执行。
(2)setUpClass(), tearDownClass()的方式,分别在每个测试类执行前后执行, setUpClass()和tearDownClass()只会执行一次,即使这个测试类有多个测试函数。

(3)setUpModule :整个模块开始前执行,tearDownModule:整个模块结束时执行。

setUpClass/tearDownClass 为类方法,需要通过@classmethod 进行装饰,另外方法的参数为cls,cls和self没有本质上的区别,都只表示方法的第一个参数

3、实例

import unittest
# 整个模块开始前执行
def setUpModule():
    print("模块级别开始test module start")
# 整个模块结束时执行
def tearDownModule():
    print("模块级别结束test module end")

class MyTest(unittest.TestCase):

    # 测试用例类开始前执行
    @classmethod
    def setUpClass(cls) :
        print("类级别开始 test class start" )

    # 测试用例类结束时执行
    @classmethod
    def tearDownClass(cls) :
        print("类级别结束 test class end")

    # 测试用例开始前执行(以一条测试用例为单位)
    def setUp(self) -> None:
        print("用例级别开始 test case start")

    # 测试用例结束时执行(以一条测试用例为单位)
    def tearDown(self) -> None:
        print("用例级别结束 test case end")

    def test_case1(self):
        print("用例 test case1")

    def test_case2(self):
        print("用例 test case2")

if __name__ == '__main__':
    unittest.main()

?

->None :建议函数返回None。

二、测试框架

1、自动化测试的设计模式

(1)PMO设计模式

基础封装层

页面对象层

测试用例层

(2)关键字驱动模式

关键字封装

2、公共的封装层

(1)夹具的封装;

(2)selenium二次封装;

(3)ini和yaml全局配置文件封装;

(4)excel、csv文件的读写封装;

(5)数据库操作封装;

(6)调用外部的第三方库封装;

3、数据层

(1)excel数据驱动

(2)csv数据驱动

(3)yaml数据驱动

(4)数据库数据驱动

4、文件层:

(1)HTML报告文件;

(2)log日志文件;

(3)全局配置文件;

(4)错误截图文件;

(5)邮件附件文件;

(6)接口关联文件;

三、忽略测试用例

不需要的测试用例

import unittest

class MyTest(unittest.TestCase):
    a = 18
    @unittest.skip('无条件忽略')
    def test_case1(self):
        print("用例 test case1")
    @unittest.skipIf(a >= 16,"条件为true忽略")
    def test_case2(self):
        print("用例 test case2")
    @unittest.skipUnless(a >= 20, "条件为false忽略")
    def test_case3(self):
        print("用例 test case3")

if __name__ == '__main__':
    unittest.main()

?输出结果:

参考文献:

【1】测试框架实践--TestFixture_疯狂的程序员丶的博客-CSDN博客_fixture test

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:47:46  更:2022-04-09 18:48:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:33:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码