UnitTest的基本概念与原理

1、UnitTest概念

一、test fixture:测试固件,简单来讲就是作一些测试过程当中须要准备的东西,好比建立临时的数据库,文件和目录等,其中 setUp() 和 setDown() 是最经常使用的方法。python

二、test case:用户自定义的测试case的基类,调用run()方法,会依次调用setUP方法、执行用例的方法、tearDown()方法。面试

三、test suite:测试用例集合,能够经过addTest()方法手动增长Test Case,也可经过TestLoader自动添加Test Case,TestLoader在添加用例时,会没有顺序。数据库

四、test runner:运行测试用例的驱动类,能够执行TestCase,也可执行TestSuite。执行后TestCase和Testsuite会自动管理TestResult。app

2、UnitTest原理

UnitTest是Python自带的测试框架,是Python的标准测试库,相比于其余测试框架是Python目前使用最广的测试框架。框架

一、工做原理

TestCase:一个testcase就是一条测试用例;性能

setUp:测试环境的准备;学习

tearDown:测试环境的还原;测试

run:测试执行;ui

TestSuite:测试套件或集合,多个测试用例的集合就是一个suite,一个suite能够包含多条测试用例,测试套件suite里面也能够嵌套测试套件suite;编码

TestLoader:用来加载testcase与testsuite;

Testrunner:用来执行测试用例,将测试结果保存在texttestresult中。


二、须要注意
class继承unittest.TestCase,继承后就造成了一条测试用例。若是在class中有多个test开头的 方法,那么每一个test开头的方法,在load的时候,便会生成一条testcase。

模块名以test开头;

类以Test开头;

方法以test开头;

运行时,右击出现unittest。若是没有出现,那么须要配置或使用python运行,添加: if name == ‘main’: unittest.main()。


三、断言结果
. 表示经过 或者 pass;

F False, 表示断言没有经过;

E Error, 表示程序内部发生了错误。


四、执行顺序
根据 ascii 编码排序;

若是咱们想手工调整测试用例的执行顺序,不一样的字母前面加 数字。


五、pycharm运行时注意事项
在空行处右击,执行整个模块;

在类名上, 执行单个测试类;

在方法名上, 执行单个测试用例;

注意在指定的位置运行,空行的地方去运行。

3、UniTtest断言

Python在 unittest.TestCase 类中提供了众多断言方法。

断言方法检查你认为应该知足的条件是否确实知足。若是条件确实知足,你对程序行为的假设就获得了确认,能够确信没有错误。若是应该知足的条件实际上并不知足,Python将引起异常。

下表是6个经常使用的断言方法,使用这些方法可核实返回的值等于或不等于预期的值,返回值为 True 或 False 。返回的值在列表中或不在列表中。只能在继承 unittest.TestCase 的类中使用这些方法。

UnitTest经常使用断言方法 做用
assertEqual(a, b) 核实 a == b
assertNotEqual(a, b) 核实 a != b
assertTrue(x) 核实 x 为 True
assertFalse(x) 核实 x 为 False
assertIn( item , list ) 核实 item 在 list 中
assertNotIn( item , list ) 核实 item 不在 list 中

4、最后

对软件测试、接口测试、自动化测试、软件测试零基础入门、性能测试、LR脚本开发、python自动化全栈、面试经验感兴趣能够175317069,群内会有不按期的发放免费的资料连接。若是你有好的学习也资料能够私聊发我,我会注明出处以后分享给你们。

相关文章
相关标签/搜索