unittest使用
unittest:单元测试框架
主要包含四部分:
1、测试固件(test fixture):
定义:包含执行测试前的准备setUP()、测试执行完后的清扫工作tearDown()
注意:
setUp()执行成功之后,不管test中有没有异常发生,tearDown()都会执行
测试固件在每个test都会执行
执行一次:使用setUpClass()和tearDownClass()可以的得到这样的效果,必须被装饰成classmethod 2、测试用例(test case):
定义:包含测试固件、具体测试代码函数,测试固件可以不要,但至少要有一个以小写test开头的函数
实现:使用装饰器@unittest.skip可以跳过某个测试用例不执行 3、测试套件(test suite):
定义:
很多测试用例的集合,通过测试套件来管理多个测试用例,会根据用例的加载顺序执行用例
实现:
1、第一种:
使用TestSuite()初始化一个Suite实例 unittest.TestSuite()
使用addTest()方法加载测试方法到测试套件中
addTest()如果要在传入别的包下的测试方法: 包名.类名(测试方法函数)
也可以使用addTests()方法
suite.addTests((lesson('test_case1'),lesson('test_case2')))
2、第二种:
makeSuite()可以把一个类下面所有测试方法都加载到测试套件中
suite = unittest.TestSuite(unittest.makeSuite(包名.类名))
3、第三种:
discover()方法可以把指定路径下所有测试方法都加载到测试套件中
discover = unittest.defaultTestLoader.discover(test_dir, pattern='lesson*.py')
4、测试执行器(test runner):
定义:测试执行器用来执行加载测试用例,可以是一个测试用例,也可以是测试套件
实现方法:
1、上方实例中的直接使用unittest.main()去执行 ,
会搜索所有以test开头的测试用例,按照ASCII的顺序执行多个用例
2、使用TextTestRunner()方法初始化一个测试执行器,然后使用run()去执行测试套件
runner = unittest.TextTestRunner()
runner.run(suite) suite 指测试套件的实例
unittest使用的更多相关文章
- python_单元测试unittest
Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...
- python单元测试unittest
单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和 调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而 ...
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...
- Python unittest appium
import unittest from appium import webdriver from appium.common.exceptions import NoSuchContextExcep ...
- selenium-webdriver(python) (十六) --unittest 框架
学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习selenium 也是从IED 开始的. IDE学习参考: 菜鸟学自动化测试(一)----selen ...
- Node.js的UnitTest单元测试
body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...
- unittest使用过程中sys.exit(not self.result.wasSuccessful())
起因: 在运行下面的unittest过程中出现了个Traceback: 被测试脚本: # splitter.py def split(line, types=None, delimiter=None) ...
- 三言两语聊Python模块–单元测试模块unittest
实际上unittest模块才是真正意义上的用于测试的模块,功能强大的单元测试模块. 继续使用前面的例子: # splitter.py def split(line, types=None, delim ...
- unittest测试驱动之HTMLTestRunner.py
对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...
- unittest可能面临的问题以及解决方法
问题1:用例的执行顺序 当使用unittest.main()时,用例的执行是按照ascall值的顺序来执行的,所以如果使用main()方法来执行用例的话,那么就需要通过命名来限制执行顺序,比如想要先执 ...
随机推荐
- 闲聊一下百度的Unit
这几天在弄一个闲聊的机器人,想起之前的图灵机器人,捣鼓之后,发现用不了,咨询后得知,以前是可以免费使用,一天1000次,后来降到100次,其实也没有那么多人去闲聊,也无所谓,再后来,需要手持身份证实名 ...
- Pandas的DataFrame
1. 手工创建DataFrame a = [[1, 2, 2],[3,None,6],[3, 7, None],[5,None,7]] data = DataFrame(a) 2. Excel数据数据 ...
- cmake 指定gcc/g++版本
export CC=/usr/local/bin/gcc export CXX=/usr/local/bin/g++ cmake /path/to/your/project make
- Invoke 和 BeginInvoke 的真正涵义
BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void treeinvoke(); private void UpdateTreeVi ...
- 微信多开简单实现 WeXinMoreOpen.bat
新建一个 WeXinMoreOpen.bat 文件,内容如下 @echo off D: cd "D:\Program Files (x86)\Tencent\WeChat" sta ...
- Laravel实现from的curl文件转发
文件的使用curl分发时发现不能直接将其传入curl,需要使用CURLFile()来实现 分发类 <?php /** * 请求转发控制器 * Created by PhpStorm. * Use ...
- Linux虚拟环境配置(安装python包,连接至jupyter notebook)
在Linux虚拟环境下安装python包 方法一:使用下载包 由于实验室下载速度较慢,因此采用传输下载包的形式安装包. 首先导入python包至指定文件夹(任意文件夹,记住地址即可)并解压. 进入虚拟 ...
- 【转载】嵌入式 Linux 移植 Dropbear SSH server
0. 背景 OpenSSH因为其相对较大,一般不太适用于嵌入式平台,多用于PC或者服务器的Linux版本中. Dropbear是一个相对较小的SSH服务器和客户端.它运行在一个基于POSIX的各种 ...
- nginx 进程问题
1 nginx的进程分为四种 master worker cacheLoader cacheManager. 实际接收请求的进程是 worker,master监控worker节点,之所以会多进程模式, ...
- was unable to refresh its cache! status = Cannot execute request on any known server
出现这种错误是因为: Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为. 在 yml中设置 eureka.client.register-with-eu ...