【使用unittest框架】为项目添加测试报告:htmltestrunner_py3
2023-09-11 14:17:00 时间
前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210418。
5、使用unittest框架
unittest框架简介
Unittest中类方法和实例方法
测试用例和测试套件
使用unittest重构测试用例
为项目生产测试报告
了解即可,后续会用pytest,实际项目几乎不用到unittest
1、先把这个包下载下来:
2、Mac,进入到下载目录的
cd /Users/ff/Downloads/HTMLTestRunner_PY3-master
python3 test.py
3、同目录下,生成一份报告,点击查看
4、看下下载下来的test.py代码
import unittest
from HTMLTestRunner_PY3 import HTMLTestRunner
class TestTest(unittest.TestCase):
""" 测试HTMLTestRunner """
def setUp(self):
self.a = 1
self.b = 2
self.c = [1, 2, 3]
def test_a_plus_b(self):
""" a + b = 3 这个用例应该通过"""
print('a + b = 3')
self.assertEqual(self.a+self.b, 3)
def test_a_minus_b(self):
""" a - b = 3 这个用例应该失败 """
print('a - b = 3')
self.assertEqual(self.a-self.b, 3)
def test_a_multi_b(self):
""" a * b = 2 这个用例应该成功"""
print('a * b = 2')
self.assertEqual(self.a*self.b, 2)
def test_a_divide_c(self):
""" a / c = 1 这是个有subTest的用例"""
for i in self.c:
with self.subTest(i=i):
print('a / c = 1')
self.assertEqual(self.a / i, 1)
def test_a_error_case(self):
""" 除零异常 """
print('1/0')
self.assertEqual(self.a/0, 1)
class ExampleCase1(unittest.TestCase):
"""此class包含两个用例:add - ok, minus - FAIL"""
def setUp(self):
self.a = 4
self.b = 3
def test_add(self):
"""用例1,add,此用例成功通过"""
self.assertEqual(self.a + self.b, 7)
def test_minus(self):
"""用例2,minus,此用例执行失败,4-3!=2"""
print('中文方法反反复复凤飞飞反复')
self.assertEqual(self.a - self.b, 2)
class ExampleCase2(unittest.TestCase):
"""此class包含一个用例:plus - ERROR"""
def setUp(self):
self.a, self.b = 4, 3
def test_plus(self):
"""用例3,plus,此用例执行出错,因为c未定义"""
self.assertEqual(self.a * self.b, c)
class ExampleCase3(unittest.TestCase):
"""此class包含一个用例:divide - ok"""
def setUp(self):
self.a, self.b = 4, 2
def test_devide(self):
"""用例4,divide,此用例执行成功"""
print('我要打印输出')
self.assertEqual(self.a / self.b, 2)
if __name__ == '__main__':
report_title = 'Example用例执行报告'
desc = '用于展示修改样式后的HTMLTestRunner'
report_file = 'ExampleReport.html'
testsuite = unittest.TestSuite()
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestTest))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase1))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase2))
testsuite.addTest(unittest.TestLoader().loadTestsFromTestCase(ExampleCase3))
with open(report_file, 'wb') as report:
runner = HTMLTestRunner(stream=report, title=report_title, description=desc)
runner.run(testsuite)
4、下载后HTMLTestRunner_PY3.py放到python安装目录/Lib下
1.我的安装目录有点不寻常
这么找安装路径:python3 --->import sys ----> sys.path
然后拷贝
sudo cp -r HTMLTestRunner_PY3 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/lib2to3
运用:from lib2to3.HTMLTestRunner_PY3.HTMLTestRunner_PY3 import HTMLTestRunner
2.也可以这样,然后运用:from lib.HTMLTestRunner_PY3.HTMLTestRunner_PY3 import HTMLTestRunner
“永不放弃,总有希望在前面等待!”送给自己,也送给正在阅读文章的博友们~
相关文章
- 【C/C++学院】(27)项目实战HttpServer--原理分析
- 开源项目QRCoder介绍
- 新闻发布项目——前台JSP界面newspages/news_read.jsp
- 新闻发布项目——业务逻辑层(newsTbServiceImpl)
- Maven父子项目配置-多模块(multi-modules)结构
- 1scrapy框架使用-入门,创建项目,生成爬虫,编写爬虫,使用pipeline,使用log,
- python-django框架-电商项目-订单模块开发_20191125
- python-django框架-电商项目-项目部署_20191127
- python-django框架-电商项目-用户模块开发_20191117
- 前台项目基础框架之vue前端(vue@3.2.6)
- 【GO】K8s 管理系统项目14[API部分--中间件]
- Atiitt 提升复用性之道 项目成本之道 Atitit 代码复用的理解attilax总结 1. 复用分类1 1.1. 类库侧重代码重用,框架侧重设计重用2 2. 文档与索引体系2 3
- 使用 SAP WebIDE 创建 Fiori extension project 扩展项目时遇到错误应该如何解决
- IDEA中Java项目删除Web框架后无法再次添加Web框架解决办法
- 【项目实战】关于日志,你需要了解这些
- Python Flask框架学习28:初始化项目文件/配置路由
- 【手游项目5】SqlServer利用 GETDATE 和 cast 生成唯一订单号
- 2022年最新最详细在IDEA中配置Tomcat(含有详细图解过程)、建立使用IEDA建立一个Web项目的案例
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- 领导给你一个项目,如何开展性能测试工作
- ❤️【CSDN首发】5W字minium微信小程序自动化测试框架项目手册❤️
- 【课题报告】OpenCV 抠图项目实战(10)PyQt5 使用
- 自研开源项目(4)基于pytest框架推荐的自动化测试架构及脚本模板caterpillar_pytest_templates
- 【项目实战】分布式定时任务框架XXL-JOB核心源码分析 - 作业调度和执行
- 【项目实战】 改造原前端ViewUI框架,使其支持ElementUI 与 Avue
- 【项目实战】基于Avue的前端框架实现一个简单CRUD
- 【项目实战】参考若依的前端框架去多环境