iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python模块——unittest 单
  • 276
分享到

Python模块——unittest 单

模块Pythonunittest 2023-01-31 02:01:17 276人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

 unittest是python单元测试框架,又叫做PyUnit。之所以称为框架是它代替开发人员完成了一些调用、io等与单元测试无直接关系的支撑代码,让开发人员可以专注与测试用例的编写,简化单元测试工作。 单元测试是一种基本的,由开发人员(

 unittest是python单元测试框架,又叫做PyUnit。

之所以称为框架是它代替开发人员完成了一些调用、io等与单元测试无直接关系的支撑代码,让开发人员可以专注与测试用例的编写,简化单元测试工作。

 

单元测试是一种基本的,由开发人员(而不是测试人员)完成的测试,保证一个程序基本单元的正确性。单元的概念我个人理解就类似电子设备中的元器件,一个个元器件(单元)组成了整个电子设备(程序)。而元器件的功能是单一的、确定的,可以在电子设备未完全成型(程序未完全实现)之前对其正确性进行测试(即单元测试)。同时,这些元器件是独立的,可以方便的更换(高内聚,低耦合,可以任意重构)。所以单元测试是测试驱动开发、极限编程、敏捷中的重要概念。

 

一个简单的例子:

#FileName: ut_target.py
class EqualToZero(Exception): pass
class SplitZero(object):
    def splitzero(self, num):
        if num > 0:
            return "num is bigger than zero"
        elif num < 0:
            return "num is smaller than zero"
        else:
            raise EqualToZero

 

 

#FileName: utest.py
from ut_target import SplitZero, EqualToZero
import unittest
 
class SzTestCase(unittest.TestCase):
    def setUp(self):
        print "test start"
    def tearDown(self):
        print "test stop"
    def testSzBig(self):
        num = 10
        sz = SplitZero()
        self.assertEqual(sz.splitzero(num),
                         "num is bigger than zero")
    def testSzSmall(self):
        num = -10
        sz = SplitZero()
        self.assertEqual(sz.splitzero(num),
                         "num is smaller than zero")
    def testSzEqual(self):
        num = 0
        sz = SplitZero()
        self.assertRaises(EqualToZero, sz.splitzero, num)
 
if __name__ == "__main__":
    unittest.main()

 

执行Python utest.py -v

testSzBig (__main__.SzTestCase) ... test start
test stop
ok
testSzEqual (__main__.SzTestCase) ... test start
test stop
ok
testSzSmall (__main__.SzTestCase) ... test start
test stop
ok
 
----------------------------------------------------------------------
Ran 3 tests in 0.000s
 
OK

 

unittest基本使用方法

1.import unittest

2.定义一个继承自unittest.TestCase的测试用例类

3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。

4.定义测试用例,名字以test开头。

5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。

6.调用unittest.main()启动测试

7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。

 

参考

[1]Http://docs.python.org/release/2.6.8/library/unittest.html

[2]http://www.ibm.com/developerworks/cn/linux/l-pyunit/index.html

--结束END--

本文标题: Python模块——unittest 单

本文链接: https://www.lsjlt.com/news/186935.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python模块——unittest 单
     unittest是python单元测试框架,又叫做PyUnit。之所以称为框架是它代替开发人员完成了一些调用、IO等与单元测试无直接关系的支撑代码,让开发人员可以专注与测试用例的编写,简化单元测试工作。 单元测试是一种基本的,由开发人员(...
    99+
    2023-01-31
    模块 Python unittest
  • Python 单元测试(unittest
    项目的整体结构可以参考“软件目录开发规范”,这里单说测试目录。一般都是在项目里单独创建一个测试目录,目录名就是“tests”。关于目录的位置,一种建议是,在项目名(假设项目名是Foo)的一级子目录下创建二级子目录 “Foo/foo/tes...
    99+
    2023-01-31
    单元测试 Python unittest
  • python模块itsdangerous简单介绍
    安装 你可以从PyPI上直接安装这个库: pip install itsdangerous 适用案例 在取消订阅某个通讯时,你可以在URL里序列化并且签名一个用户的ID。这种情况下...
    99+
    2022-11-16
    python模块itsdangerous python itsdangerous模块 python itsdangerous
  • Python:简单select模块使用
    select 多并发socket 例子 #!/usr/bin/env python #coding:utf-8 import select import socket import Queue listen_addr=('0...
    99+
    2023-01-31
    模块 简单 Python
  • python tkinter模块的简单使用
    目录1.任务要求 2.简单设计 3.模块实现4.总结由于一些小原因,被迫开始了tkinter一次实战演练。在此做一些记录,总结以及给自己留一些轮子哈哈哈哈哈哈 tkinter 是 P...
    99+
    2024-04-02
  • Python webargs 模块的简单使用
    目录一、安装二、基础特性2.1. 使用2.1.1 通过装饰器2.1.2 通过函数2.2 参数检查2.3 检查失败处理2.4 嵌套参数三、高级特性3.1 自定义location3.2 ...
    99+
    2024-04-02
  • Python模块:time模块
    time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一...
    99+
    2023-01-31
    模块 Python time
  • python模块:smtplib模块
    1.使用本地的sendmail协议进行邮件发送格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])host:SMTP服务器主机的IP地址或者是域名port:服务的端口号(默...
    99+
    2023-01-31
    模块 python smtplib
  • python中怎么实现unittest单元测试
    python中怎么实现unittest单元测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。说明导入unittest模块。导入被测对象。创建测试类unittest.TestCa...
    99+
    2023-06-20
  • python单元测试模块有哪些
    python中的单元测试模块有以下几种nosenose是一个Python的第三方单元测试模块,其兼容unittest,且具有用例编写、用例发现和执行、测试夹具、测试生成器和插件体系等功能。unittestunittest是Python标准库...
    99+
    2024-04-02
  • python unittest框架
        unittest模块提供了单元测试的组件,方便开发人员进行自测。    一、unittest中的重要概念:    测试用例:测试用例对象是最小的测试单位,针对指定的输入来测试期待的输出。由类TestCase的派生类或Function...
    99+
    2023-01-31
    框架 python unittest
  • 使用Python模块:struct模块
    Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的) 1)bytes、str...
    99+
    2023-01-31
    模块 Python struct
  • python加密模块-hashlib模块
    hashlib模块 用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具...
    99+
    2023-01-31
    模块 python hashlib
  • python的md5模块使用非常简单
     python的md5模块使用非常简单,包括以下几个函数: md5.new([arg]) 返回一个md5对象,如果给出参数,则相当于调用了update(arg) md5.updte(arg) ...
    99+
    2023-01-31
    模块 简单 python
  • python-模块
    一:模块的基本认识: 内置模块 内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用    第三方模块 下载-->安装-->使用 1.找到python所在的根目录-->再找到Scrip...
    99+
    2023-01-31
    模块 python
  • Python模块
    初步认识 安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里) 从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)...
    99+
    2023-01-30
    模块 Python
  • python 模块
    python的模块分为2种:1.标准库(不需要安装,直接导入就可以使用的)2.第三方库(必须要手动安装的)先来介绍2个标准库:sys和os#!/usr/bin/env python# coding: utf-8...
    99+
    2023-01-30
    模块 python
  • python - 模块
    参考:https://www.cnblogs.com/nulige/p/6166205.html一、模块介绍Python Module(模块),就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。文件...
    99+
    2023-01-31
    模块 python
  • python模块学习----nmap模块
    安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理...
    99+
    2023-01-31
    模块 python nmap
  • Python常用的模块和简单用法
    目录1、random 随机模块2、matplotlab.pyplot 作图模块3、mpl_toolkits.mplot3d 绘制3D图模块 1、random 随机模块 import ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作