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设计一个类,类中有3个测试用例,使用测试套件的方式设计,最后生成测试报告 -> 正文阅读

[开发测试]unittest设计一个类,类中有3个测试用例,使用测试套件的方式设计,最后生成测试报告

问题描述:

用unittest设计一个类,类中包含3个测试用例,使用测试套件的方式设计,(类前、类后、用例前、用例后)观察执行顺序,最后生成测试报告。

先上代码:

import unittest

@classmethod

#继承unittest.TestCase类
class NumberTest(unittest.TestCase):

    def setUpClass(cls):#类的前置条件
        print("-----开始-----")

    def setUp(self):# 每次执行用例的前置条件
        self.a = 10
        self.b = 15

    # Unittest默认运行以test开头的测试用例
    def test_a(self):
        # 使用unittest.TestCase类下面的断言方法对测试结果的判断
        self.assertEqual(self.a+self.b, 25, msg="输入的数字不是10")

    def test_b(self):
        self.assertEqual(self.a-self.b, -5, msg="输入的数字不是20")

    def test_c(self):
        self.assertEqual(self.a*self.b, 150, msg="输入的数字不是30")

    def tearDown(self):# 每次执行用例的后置条件
        print("结束")
        
    def tearDownClass(cls):#类的后置条件
        print("-----结束-----")
if __name__ == "__main__":
    unittest.main(verbosity=2)

import HTMLTestRunner
import os
import unittest
from number_test import NumberTest

#设置报告文件保存路径
cur_path = os.path.dirname(os.path.realpath(__file__))
report_path = os.path.join(cur_path, "report")
if not os.path.exists(report_path): os.mkdir(report_path)

#构造测试套件
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(NumberTest))

#构造HTMLTestRunner实例
if __name__ == '__main__':

    html_report = report_path + r"\杨如杰_result.html"
    fp = open(html_report, "wb")

    runner = HTMLTestRunner.HTMLTestRunner(stream = fp, verbosity = 2,
                        title = "实验报告三_杨如杰", description = "用例执行情况")
    runner.run(suite)

TestCase类中定义的几个特殊方法:

1、setUp():用例前置条件。
每个测试方法运行前运行,测试前的初始化工作。

2、tearDown():用例后置条件。
每个测试方法运行结束后运行,测试后的清理工作。

3、setUpClass():类的前置。
所有的测试方法运行前运行,单元测试前期准备,必须使用 @classmethod装饰器进行修饰,setUp()函数之前执行,整个测试过程只执行一次。

4、tearDownClass():类的后置。
所有的测试方法运行结束后执行,单元测试后期清理,必须使用 @classmethod装饰器进行修饰,tearDown()之后执行,整个测试过程只执行一次.


执行顺序:

setUpClass() 类的前置

setUp()用例前置
test_a()测试用例_a
tearDown()用例后置

setUp()用例前置
test_b()测试用例_b
tearDown()用例后置

setUp()用例前置
test_c()测试用例_c
tearDown()用例后置

tearDownClass() 类的后置


生成测试报告:

请添加图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 13:07:37  更:2021-10-27 13:07:39 
 
开发: 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 2:31:07-

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