unittest的组件

a.test fixture:测试固件,测试固件是执行测试时的准备工作和收尾工作(如打开和关闭浏览器;链接和断开数据库等)
b.testcase:测试用例,通过集成unittset.TestCase,来实现用例的继承,在Unittest中,测试用例都是通过test来识别的。
c.testsuite:测试套件,测试用例的集合,简单理解:list(case1,case2,case3)
d.testrunner:运行器,一般通过runner来调用suite去执行测试 

常用断言:

assertEqual(first,second,msg=None):判断first=second    msg为失败时打印的消息,默认为None

assertNotEqual(first,second,msg=None):判断first != second

assertTrue(expr,msg=None):判断表达式为True

assertFalse(expr,msg=None):判断表达式为False

assertIn(first,second,msg=None):判断second包含first

assertNotIn(first,second,msg=None):判断second不包含first

assertIs(first,second,msg=None):判断first和second为同一对象

assertNotIs(first,second,msg=None):判断first和second为不同对象

assertIsNone(expr,msg=None):判断表达式为None对象

assertIsNontNone(expr,msg=None):判断是否不为None对象

assertIsInstance(obj, cls, msg=None):判断obj是cls的实例

assertIsNotInstance(obj, cls, msg=None):判断obj不是cls的实例

 

TestCase类的几个特殊方法如下:

 

A、setUp():每个测试用例运行前运行,测试前的初始化操作;

 

B、tearDown():每个测试用例运行结束后运行,测试后的清理工作;

示例:

import unittest
class TestMethod(unittest.TestCase):#TestCase 所有测试用例类继承的基本类。

def setUp(self):#每条用例开始之前执行
print('执行setup')
def tearDown(self):#每条用例执行之后执行
print('执行tearDown')
def test_01(self):
print('执行第一跳用例')
def test_02(self):
print('执行第二条用例')
if __name__ == '__main__':
unittest.main()
结果:

Process finished with exit code 0
执行setup
执行第一跳用例
执行tearDown
执行setup
执行第二条用例
执行tearDown

 

C、setUpClass():所有的测试方法运行前运行,单元测试前期准备,必须使用@classmethod装饰器进行修饰,setUp()函数之前执行,整个测试过程只执行一次;

 

D、tearDownClass():所有的测试方法运行结束后执行,单元测试后期清理,必须使用@classmethod装饰器进行修饰,tearDown()之后执行,整个测试过程中只执行一次;

示例:

import unittest
class TestMethod(unittest.TestCase):#TestCase 所有测试用例类继承的基本类。
@classmethod
def setUpClass(cls) -> None:
print('class')
@classmethod
def tearDownClass(cls) -> None:
print('class1')
def setUp(self):#每条用例开始之前执行
print('执行setup')
def tearDown(self):#每条用例执行之后执行
print('执行tearDown')
def test_01(self):
print('执行第一跳用例')
def test_02(self):
print('执行第二条用例')
if __name__ == '__main__':
unittest.main()
结果:

class
执行setup
执行第一跳用例
执行tearDown
执行setup
执行第二条用例
执行tearDown
class1

unittest.skip的用法

 

 posted on 2020-04-27 20:41  头号逍遥  阅读(185)  评论(0)    收藏  举报