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使用的更多相关文章

  1. python_单元测试unittest

    Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...

  2. python单元测试unittest

    单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和 调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而 ...

  3. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  4. Python unittest appium

    import unittest from appium import webdriver from appium.common.exceptions import NoSuchContextExcep ...

  5. selenium-webdriver(python) (十六) --unittest 框架

    学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习selenium 也是从IED 开始的. IDE学习参考: 菜鸟学自动化测试(一)----selen ...

  6. Node.js的UnitTest单元测试

    body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } 在专业化的软件开发过程中,无论什么平台语言,现在都需要UnitTes ...

  7. unittest使用过程中sys.exit(not self.result.wasSuccessful())

    起因: 在运行下面的unittest过程中出现了个Traceback: 被测试脚本: # splitter.py def split(line, types=None, delimiter=None) ...

  8. 三言两语聊Python模块–单元测试模块unittest

    实际上unittest模块才是真正意义上的用于测试的模块,功能强大的单元测试模块. 继续使用前面的例子: # splitter.py def split(line, types=None, delim ...

  9. unittest测试驱动之HTMLTestRunner.py

    对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...

  10. unittest可能面临的问题以及解决方法

    问题1:用例的执行顺序 当使用unittest.main()时,用例的执行是按照ascall值的顺序来执行的,所以如果使用main()方法来执行用例的话,那么就需要通过命名来限制执行顺序,比如想要先执 ...

随机推荐

  1. New & make in go_Code

    概述 Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似.不过解释两者之间的不同也非常容易. 他们所做的事情,和应用的类型也不相同. 二者都是用来分配空间. new 函数 ...

  2. 使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤

    安装配置 VSCode [1]安装 VSCode: 下载地址:https://code.visualstudio.com/ 根据自己电脑对应的操作系统下载对应的版本即可,至于安装过程也和一般的软件一样 ...

  3. final,static,super,this

    ## final 关键字 **final关键字主要用在三个地方:变量.方法.类.** 1. **对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变 ...

  4. MySQL 使用 ON UPDATE CURRENT_TIMESTAMP 自动更新 timestamp (转)

    原文地址: https://blog.csdn.net/heatdeath/article/details/79833492 `create_time` timestamp not null defa ...

  5. xpath和contains模糊匹配

    xpath可以以标签定位,也可以@任意属性: 如:以input标签定位:driver.find_element_by_xpath("//input[@id='kw']") 如:@t ...

  6. IEEE-754格式标准,float,

    float float类型数字在计算机中用4个字节存储.遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e 底数部分 使用二进制数来表示此浮点数的实际值指数部分 占用8bit的二进 ...

  7. [Golang] 消费Kafka的日志提交到ElasticSearch

    0x0 需求 消费Kafka的日志并写入ElasticSearch供查询 0x1 依赖库 golang版Kafka客户端 https://github.com/Shopify/sarama golan ...

  8. spring boot前后端参数传递方式

    使用spring boot2X做后端,postman做前端测试 1.获取json字符串 @RestController public class Demo { @RequestMapping(&quo ...

  9. spring boot 指定启动端口

    spring boot 默认端口为8080 1.修改为指定端口 (1)修改配置文件 src/main/resources/application.properties server.port= (2) ...

  10. centos7安装配置MariaDB10

    1:添加 MariaDB yum 仓库 vi /etc/yum.repos.d/MariaDB.repo在该文件中添加以下内容保存: [mariadb] name = MariaDB baseurl ...