Python单元测试工具doctest和unittest
Python标准库包含两个测试工具。
doctest:一个简单的模块,为检查文档而设计,但也适合用来编写单元测试。
unittest:一个通用的测试框架。
一、使用doctest进行单元测试
创建文件mymath.py,内容
def square(x):
'''
计算平方并返回结果(下面是单元测试的格式)
>>> square(2)
4
>>> square(3)
9
'''
return x * x if __name__ == '__main__':
import doctest,mymath
doctest.testmod(mymath)
在Sublime Text 3中运行只是提示[Finished in 0.2s]。
在cmd命令下切换到mymath.py所在目录,运行python mymath.py -v后,有提示测试详细信息,测试通过。如下图:

把函数square里面的return x * x 改成 return x / x。
再次运行python mymath.py -v,提示测试不通过,如下图:

二、使用unittest进行单元测试
还是用mymath.py测试,内容:
def square(x):
return x * x
新建单元测试文件test_math.py,内容:
import unittest, mymath
class mathTestCase(unittest.TestCase):
def test_square(self):
self.assertEqual(mymath.square(2), 4)
self.assertEqual(mymath.square(3), 9)
if __name__ == '__main__':
unittest.main()
运行后,显示OK 测试通过。
.
----------------------------------------------------------------------
Ran 1 test in 0.000s OK
把函数square里面的return x * x 改成 return x / x。
再次运行,这次显示FAILED 测试不通过。
F
======================================================================
FAIL: test_square (__main__.mathTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\projects\python\test_math.py", line 6, in test_square
self.assertEqual(mymath.square(2), 4)
AssertionError: 1.0 != 4 ----------------------------------------------------------------------
Ran 1 test in 0.000s FAILED (failures=1)
Python单元测试工具doctest和unittest的更多相关文章
- 一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
- Python的单元测试工具——doctest
doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试.它可以在docstring中寻找测试用例并执行,比较输出结果与期望值是否符合. 基本用法使用doctest需要 ...
- Openstack单元测试工具简单说明
一.Openstack 的单元测试工具介绍 1.unittest unittest: 是 Python 的标准库,提供了最基本的单元测试功能,包括 单元测试运行器(简称runner) 和 单元测试框架 ...
- Python单元测试——深入理解unittest (转)
单元测试的重要性就不多说了,可恶的是Python中 有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, no ...
- python单元测试--深入理解unittest
单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nos ...
- Python单元测试——深入理解unittest
单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nos ...
- Python+selenium之简单介绍unittest单元测试框架
Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...
- Python单元测试框架unittest使用方法讲解
这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下 概 ...
- Python单元测试框架:unittest(一)
Python单元测试框架unittest使用方法讲解 主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测 ...
随机推荐
- WM消息大全,windows消息大全
WM消息大全 消息名 消息值 说明 WM_CREATE 0x0001 应用程序创建一个窗口 WM_DESTROY 0x0002 一个窗口被销毁 WM_MOVE 0x0003 移动一个窗口 WM_SIZ ...
- JQuery 获取元素到浏览器可视窗口边缘的距离
获取元素到浏览器可视窗口边缘的距离 by:授客 QQ:1033553122 1. 测试环境 JQuery-3.2.1.min.js 下载地址: https://gitee.com/ishouke/ ...
- [转]UiPath实践经验总结(二)
本文转自:https://www.cnblogs.com/ybyebo/p/10086473.html 1. UI操作容易受到各种意外的干扰,因此应该缩短UI操作阶段的总体时间.而为了缩短 ...
- Swift设置只读(readOnly)属性
class ReadOnly { private(set) var name: String init(_ name: String) { self.name = name } } let obj = ...
- SQL注入:HEAD注入
HEAD注入原理 HEAD注入顾名思义就是在传参的时候,将我们的数据构建在http头部. HEAD注入的使用场景 为什么网站要记录你的ip或者请求头,是为了方便你的二次登陆,区分你的登陆地址和设备,可 ...
- CCSpriteFrameCache的使用
配置环境:win7+Cocos2d-x.2.0.3+VS2012 CCSpriteFrameCache是帧缓存类. 通过plist文件导入图片 CCSpriteFrameCache::sharedSp ...
- TensorFlow从1到2(十三)图片风格迁移
风格迁移 <从锅炉工到AI专家(8)>中我们介绍了一个"图片风格迁移"的例子.因为所引用的作品中使用了TensorFlow 1.x的代码,算法也相对复杂,所以文中没有仔 ...
- WPF 委托 事件 B窗体调用A窗体方法
原文:WPF 委托 事件 B窗体调用A窗体方法 具体实现 A窗体 中加载B窗体 B窗体触发A窗体里的方法 当点击B窗体确定Button事件 给A窗体俩个TextBox赋值 并关闭B窗体 B窗体 ...
- jenkins配置publish over ssh遇到的问题
一.背景 目标 本篇文章主要是说明自己在配置jenkins的publish over ssh插件所遇到的问题.本次主要是windows下的jenkins通过ssh的方式访问我本地虚拟机的ubuntu系 ...
- Update 19.11 for Azure Sphere
今天,微软发布了面向Azure Sphere的19.11更新,其主要亮点就是加入了对开发工具Visual Studio Code和Linux开发环境的支持.具体来讲,本次更新包含3个部分: 1. Az ...