python unittest单元测试的步骤分析
作者:小妮浅浅 时间:2022-03-21 05:59:10
说明
1、导入unittest模块。
2、导入被测对象。
3、创建测试类unittest.TestCase。
4、重写setUp和tearDown(如果有初始化和结束)
5、以函数的形式写测试项目:函数名以test_开头。
6、unittest运行测试用例。
实例
import unittest
class LoginCheckTest(unittest.TestCase):
def setUp(self) -> None:
print("每条用例")
def test_login(self):
self.assertEqual(0, login_check('lemon','123456').get('code'))
def test_password_error(self):
self.assertEqual(1,login_check('lemon','8888222').get('code'))
def test_user_error(self):
self.assertEqual(1, login_check('aaaabc', '123456').get('code'))
if __name__ == '__main__':
unittest.main()
实例扩展:
python unittest单元测试实例
import unittest
class MyTest(unittest.TestCase): # 继承unittest.TestCase
def tearDown(self):
# 每个测试用例执行之后做操作
print('111')
def setUp(self):
# 每个测试用例执行之前做操作
print('22222')
@classmethod
def tearDownClass(self):
# 必须使用 @ classmethod装饰器, 所有test运行完后运行一次
print('4444444')
@classmethod
def setUpClass(self):
# 必须使用@classmethod 装饰器,所有test运行前运行一次
print('33333')
def test_a_run(self):
self.assertEqual(1, 1) # 测试用例
def test_b_run(self):
self.assertEqual(2, 2) # 测试用例
if __name__ == '__main__':
unittest.main()#运行所有的测试用例
生成一个测试报告
import HTMLTestRunner
import unittest
class MyTest(unittest.TestCase):#继承unittest.TestCase
def tearDown(self):
#每个测试用例执行之后做操作
print('111')
def setUp(self):
#每个测试用例执行之前做操作
print(22222)
def test_run(self):
# self.assertEqual(1,1)
self.assertIs(1,1)
#测试用例
def test_run2(self):
# self.assertEqual(1,1)
self.assertIs(1,1)
#测试用例
def test_run3(self):
# self.assertEqual(1,1)
self.assertIs(1,1)
#测试用例
def test_run1(self):
# self.assertEqual(1,1)
self.assertIs(1,1)
#测试用例
if __name__ == '__main__':
test_suite = unittest.TestSuite()#创建一个测试集合
test_suite.addTest(MyTest('test_run1'))#测试套件中添加测试用例
#test_suite.addTest(unittest.makeSuite(MyTest))#使用makeSuite方法添加所有的测试方法
fp = open('res.html','wb')#打开一个保存结果的html文件
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='api测试报告',description='测试情况')
#生成执行用例的对象
runner.run(test_suite)
#执行测试套件
来源:https://www.py.cn/jishu/jichu/31945.html
标签:python,unittest,单元测试
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python实现根据ip地址反向查找主机名称的方法
2023-12-21 01:58:06
Oracle下时间转换在几种语言中的实现
2009-02-28 11:09:00
TXT.WORD文档下载另存为,而不是在浏览器中打开
2007-10-25 11:43:00
对YOLOv3模型调用时候的python接口详解
2023-05-31 00:58:57
![](https://img.aspxhome.com/file/2023/3/93513_0s.jpg)
Python imutils 填充图片周边为黑色的实现
2021-04-13 04:06:32
![](https://img.aspxhome.com/file/2023/5/90775_0s.jpg)
python实现上传样本到virustotal并查询扫描信息的方法
2023-06-30 19:59:45
python3调用R的示例代码
2021-05-01 21:53:59
Python 恐龙跑跑小游戏实现流程
2021-10-23 19:42:59
![](https://img.aspxhome.com/file/2023/9/66889_0s.png)
Python中使用多进程来实现并行处理的方法小结
2023-10-23 14:21:38
Python的Django中将文件上传至七牛云存储的代码分享
2023-11-28 14:00:24
Python Web框架Flask中使用七牛云存储实例
2022-11-25 17:20:27
一段ASP的HTTP_REFERER判断代码
2011-03-25 10:41:00
Python的Bottle框架中返回静态文件和JSON对象的方法
2023-11-07 20:14:41
![](https://img.aspxhome.com/file/2023/4/66374_0s.png)
Python简单爬虫导出CSV文件的实例讲解
2022-10-11 03:39:19
![](https://img.aspxhome.com/file/2023/0/107790_0s.jpg)
ThinkPHP3.1.3版本新特性概述
2023-09-28 15:25:11
百度地图API之本地搜索与范围搜索
2023-08-23 17:24:38
![](https://img.aspxhome.com/file/2023/6/56176_0s.jpg)
web 2.0设计指导之一:简单[译]
2008-10-12 09:37:00
![](https://img.aspxhome.com/file/UploadPic/200810/12/2008101294213567.jpg)
Python加密模块的hashlib,hmac模块使用解析
2022-12-10 10:18:57
Python和Sublime整合过程图示
2023-04-11 15:23:33
![](https://img.aspxhome.com/file/2023/4/98834_0s.png)
框架和框架之间的关系
2008-01-17 18:54:00
![](https://img.aspxhome.com/file/UploadPic/20081/17/2008117185848873s.jpg)