9.单元测试框架unittest

一、Python中单元测试框架:unittest框架 和 pytest框架。本篇记录unittest

1.Unittest是通用的,可以做单元测试,接口测试,selenium自动化,app自动化

2.需要导入unittest,类继承自unittest.TestCase。

3.类名大驼峰; 测试方法必须以test开头; 测试用例的方法中,不能有参数。

4.Pycharm中用unittest框架运行,有进度条;用脚本运行,没有进度条

5.用脚本运行,结果:

.  表示用例通过

E: 表示脚本错误 

F: 表示运行结果失败,确认是否为Bug

6.Unittest框架,不需要实例化类

if __name__ == '__main__':
   
unittest.main()

 

unittest框架 基本格式如下:

 

二、关于setUpClass(cls), setUp(self), tearDown(self), tearDownClass(cls)

1. setUpClass(cls) 和 tearDownClass(cls), 前边要加 @classmethod

2. 执行顺序: setUpClass(cls), setUp(self), testcase, tearDown(self), tearDownClass(cls)

3. 注:self:实例方法(需要实例化才能调用), cls:类方法(不需要进行实例化即可调用)

具体参考如下:

输出结果如下:

 

三、断言:

self.assertEqual(a, b)

self.assertTrue(a==b)

self.assertNotEqual(a, b)

self.assertIn(a, b)

 1 #  cording:utf-8
 2 import requests
 3 import unittest
 4 
 5 class QQ(unittest.TestCase):
 6     '''测试qq接口'''
 7     def testqq1(self):
 8         '''qq号:12345678, 正确的Key'''
 9         url ='http://japi.juhe.cn/qqevaluate/qq'
10         par = {
11             "key":"86adc45",
12             "qq":"12345678"
13         }
14         r = requests.get(url, params=par, verify = False)
15         x = r.content.decode("utf-8")
16         #print(r.content.decode("utf-8"))
17         y = r.json()
18         self.assertTrue(y["reason"]=="success")
19 
20 if __name__ == '__main__':
21     unittest.main()
实例:QQ测试接口(unittest框架)

posted on 2019-12-14 16:05  水晶的晶  阅读(15)  评论(0)    收藏  举报