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概述.命令行接口.测试案例自动搜索.创建测试代码.构建测 ...
随机推荐
- http请求post,文件导出兼容IE10+
1.post的方法里要加responseType: 'blob'参数,不然下载的excel会乱码 2.使用{type: "application/vnd.ms-excel"}的写法 ...
- 动态构建Lambda表达式实现EF动态查询
在使用Entity Framework做数据查询的时候,查询条件往往不是固定的,需要动态查询.可以通过动态构建Lamda表达式来实现动态查询. Lamda表达式 使用Lamda表达式可以很方便的按条件 ...
- Octave中的常用操作2
>> ones(2:3)ans = 1 1 1 1 1 1 >> 2*ones(2:3)ans = 2 2 2 2 2 2 >> rand(3,3) 产生0~1中的 ...
- go语言设计模式之abstract factory
这个代码太多了,调了一晚上. 只能立图证明我测试通过了哈. 真的是工厂的工厂,有点深.
- 04. Go 语言流程控制
Go 语言流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go 语言的常用流程控制有 if 和 for,而 switch 和 ...
- Scrum会议(十周)
1.任务分配 2.会议内容探讨了本次取得的重大突破和后续要继续开展的工作.分析了自己在前端开发遇到的问题,以及如何优化自己的前端界面.然后分工,每人都去优化一部分界面,比如段祥负责个人中心的优化,程吉 ...
- Intellj IDEA 快捷键冲突
Intellij IDEA快捷键冲突 [问题描述]: ctr + alt + 方向键 与系统的快捷键冲突,按快捷键,屏幕方向发生改变. [解决办法]: ctr + alt + F12 调用出Intel ...
- QT新建空白项目-添加QT设计师界面类时出现的各种库无法导入识别
按照教材上先新建一个空的项目--添加Qt设计师界面类时 出现各种 库无法识别 解决方法: 在 .pro文件中加入一行 QT += widgets 去构建中先执行 qmake 然后再构建一下 ok了 ...
- WPF 精修篇 数据触发器
原文:WPF 精修篇 数据触发器 数据触发器 可以使用Binding 来绑定控件 或者数据源 来触发相关动作 举栗子 <Window.Resources> <Style Target ...
- WPF 精修篇 自定义控件
原文:WPF 精修篇 自定义控件 自定义控件 因为没有办法对界面可视化编辑 所以用来很少 现在实现的是 自定义控件的 自定义属性 和自定义方法 用VS 创建自定义控件后 会自动创建 Themes 文件 ...