栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python-unittest

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python-unittest

1、不使用单元框架,做自动化测试

单元测试:对功能/代码的最小单元进行测试。函数、类中的方法

def add(a,b):
# 被测函数、被测单元、被测功能
    return a + b
# a = 1,b = 1,expected = 2
# 得到实际结果
# 测接口测网页也是测函数,把过程封装成一个函数
def case():
    actual = add(1,1)
    expected = 2
    if actual == expected:
        print("测试用例通过")
    else:
        print("测试用例失败")
case()

输出:测试用例通过

1、assert

在Python中进行测试使用assert 断言,不常用if

当使用assert断言,如果测试通过,程序正常执行。如果测试不通过,抛出AssertionError异常。

def add(a,b):
    return a + b
# a = 1,b = 1,expected = 2
def case():
    actual = add(1,1)
    expected = 2
    # assert 实际结果与预期结果判断
    assert actual == expected
case()

输出:空      

def add(a,b):
    return a + b
# a = 1,b = 1,expected = 2
def case():
    actual = add(1,1)
    expected = 3
    # assert 实际结果与预期结果判断
    assert actual == expected
case()

输出:AssertionError

assert 失败,本质上就是一个异常,异常类型AssertionError

2、当不使用单元框架,做自动化测试


(1) 测试用例函数,手工去调用函数

(2) 当用例失败后,手工加try...

(3) 无法收集用例,放到统一的模块

(4) 不能自动生成测试报告

2、unittest

单元测试框架,相当于提供的一个工具集合,一套解决方案。unittest是Python内置的单元测试框架,pytest是第三方的单元测试框架。pytest功能更强。

注意:写好的用例一般要放在统一的文件夹下,文件夹用tests/cases命名,模块名一般test开头。

1、概念

test case:测试用例

test suite:测试套件/测试集

test loader:测试加载

test runner:运行器,执行器

fixture:夹具。前置准备和后置清理

2、test case

unittest用法:

(1)导入unittest,继承unittest.TestCase。作为测试用例的函数名必须是test开头,不然不会自动执行。

(2)运行用例,可以点击旁边的播放键。

 用例通过

用例失败,但是运行结果中未有失败原因。

 当用例执行失败时,使用assert不能展示失败原因。使用self.assertEqual可以将执行结果打印出来,显示失败原因。

3、test suite 收集用例

.F.  .表示通过 ,F表示False

4、生产测试报告

(1) unittestreport  -木森老师开发,需要安装

安装方法:1、file—setting—project,点+号搜索unittestreport,install package

                   2、点击下面运行界面的terminal,输入pip install unittestreport

运行后自动生成report目录,里面有html格式报告。

 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275362.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号