Python unittest测试框架详解
来源:互联网 发布:大国崛起 英国 知乎 编辑:程序博客网 时间:2024/05/21 21:01
1.测试脚手架(test fixture)
测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown().
2.测试案例(test case)
最小的测试单元.
3.测试套件(test suite)
测试案例的集合.
4.测试运行器(test runner)
测试执行的组件.
命令行接口
可以用命令行运行测试模块,测试类以及测试方法.
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_module.TestClass.test_method
可加-v打印详细信息
python -m unittest -v test_module
测试案例自动搜索
unittest支持简单的test discovery. 命令行传入discovery后,框架会自动在当前目录搜索要测试的案例并执行.搜索目录必须是包或者模块.基本使用如下:
cd project_directory
python -m unittest discover
子选项如下:
-v, –verbose
输出信息的详细级别
-s, –start-directory directory
开始搜索目录 (默认为当前目录)
-p, –pattern pattern
匹配的文件名 (默认为test*.py)
-t, –top-level-directory directory
搜索的顶层目录 (默认为start directory)
创建测试代码
1.方式一
创建子类继承unittest.TestCase,然后重写以下方法
class WidgetTestCase(unittest.TestCase):
def setUp(self):
pass
def runTest(self):
pass
def tearDown(self):
pass
运行
2.方式二
编写以test开头的方法
class WidgetTestCase(unittest.TestCase):
def setUp(self):
pass
def test_xx1(self)
def test_xx2(self)
...
def test_xxN(self)
def tearDown(self):
pass
构建测试套件
方式一
widgetTestSuite = unittest.TestSuite()
widgetTestSuite.addTest(WidgetTestCase('test_default_size'))
widgetTestSuite.addTest(WidgetTestCase('test_resize'))
方式二(推荐)
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('test_resize'))
return suite
方式三(推荐)
def suite():
tests = ['test_default_size', 'test_resize']
return unittest.TestSuite(map(WidgetTestCase, tests))
其中还有几种方式不常用。
待测试的类(Widget.py)
测试类(Auto.py)
测试结果:
总结:
1。第一步:先写好测试类
2。第二步:导入unittest模块及测试的类,运用setup()方法做测试前的准备工作,如建立数据库连接,运用teardown()方法做测试后的清除工作,如取消数据库的链接,再对类中的方法逐一做测试。
3。第三步: 写suite()的全局方法,将要测试的方法,一一加入。
测试结果,有几个测试用例就有几个. 最后显示OK,表示通过。
- Python unittest测试框架详解
- python unittest 测试框架
- python 测试框架 unittest
- Python-unittest测试框架
- python unittest测试框架介绍
- python unittest测试框架介绍
- Python的unittest自动化测试框架
- Python单元测试框架unittest测试过程简介
- Python UnitTest 框架执行功能自动化测试
- Python中unittest测试框架简介
- Python unittest 测试框架学习笔记
- Python接口测试之unittest框架
- Python单元测试框架 — unittest详解
- python测试之unittest
- python测试之unittest
- python unittest 自动化测试
- Python单元测试框架unittest
- Python单元测试框架-unittest
- javaEE链接传值乱码的一个处理方法
- Linux 命令学习
- vs2013未找到与约束contrackName Microsoft.internal匹配的导出
- 【第十一章】 SSH集成开发积分商城 之 11.3 实现积分商城层 ——跟我学spring3
- 初涉Linux(鸟哥的私房菜)
- Python unittest测试框架详解
- 圆与三角形(圆与三角形是否相交)
- 软考二进宫-排序算法-交换排序
- mac电脑开发android找不到设备
- 按文章词频提取关键字
- jQuery自定义插件
- bootstrap modal 垂直居中对齐
- mysql 的搜索处理 浅谈
- Android动画开发实践