Unittest简单项目
1.业务模块
"""文件名:calc.py"""
class Calc1:def __init__(self, a, b):self.a = aself.b = bdef multiply(self):x = self.a * self.breturn xdef division(self):y = round(self.a / self.b, 2)return yif __name__ == '__main__':print(Calc1(3,7).multiply())print(Calc1(3,7).division())
2.单元测试
"""文件名:testdiv.py"""
import unittest
from calc import *
class TestDiv(unittest.TestCase):@classmethoddef setUpClass(cls):print("所有用例的准备工作")def setUp(self):print('~' * 10, '测试开始', '~' * 10)def tearDown(self):print('-' * 10, '测试结束', '-' * 10)@classmethoddef tearDownClass(cls):print("所有用例的收尾工作")def test_div1(self):print("1.2.乘法验证")self.assertEqual(30, Calc1(7, 5).multiply(), msg="testdiv乘法验证错误")def test_div2(self):print("2.2.除法验证")self.assertEqual(1.4, Calc1(7, 5).division(), msg="##")if __name__ == '__main__':unittest.main()
"""文件名:testmul.py"""
import unittest
from calc import *
class TestMul(unittest.TestCase):def setUp(self):print('~' * 10, '测试开始', '~' * 10)def tearDown(self):print('-' * 10, '测试结束', '-' * 10)def test_mul1(self):print("1.1.乘法验证")self.assertEqual(100, Calc1(25, 4).multiply(), msg="##")def test_mul2(self):print("2.1.除法验证")self.assertEqual(6.0, Calc1(25, 4).division(), msg="testmul除法验证错误")
if __name__ == '__main__':unittest.main()
3.测试执行器
"""文件名:runtest1.py"""
"""【目的】合并多个类--->测试套"""import unittest
from testmul import TestMul
from testdiv import TestDiv
# HTMLTestRunner 需要外部导入
import HTMLTestRunnerif __name__ == '__main__':"""【1.不同的类写进各自的测试套】"""testsuite_1 = unittest.TestLoader().loadTestsFromTestCase(TestMul)testsuite_2 = unittest.TestLoader().loadTestsFromTestCase(TestDiv)"""【2.多个测试套合并成一个大的测试套】"""testsuite_all = unittest.TestSuite([testsuite_1, testsuite_2])"""【3.测试报告的名称】 写入二进制"""html1 = open('testreport.html', 'wb')htmlrunner = HTMLTestRunner.HTMLTestRunner(stream=html1, title='乘除法测试报告')"""【4.执行器执行测试套】"""htmlrunner.run(testsuite_all)html1.close()
"""文件名:runtest2.py"""
"""【目的】合并指定目录下的多个模块文件--->测试套"""
import unittest
if __name__ == '__main__':"""【1】声明目录的位置"""test_dir = "./""""【2】查找目录下以'test'开头的模块文件"""test_file = "test*.py""""【3】合并多个模块文件为测试套"""test_suite = unittest.defaultTestLoader.discover(test_dir, pattern=test_file)"""【4】执行器执行测试套"""test_run1 = unittest.TextTestRunner()test_run1.run(test_suite)
运行执行器
1.菜单栏:运行--->运行
2.终端命令行:
python 文件.py
python3 文件.py
测试报告
模板
import unittest
class TestSample(unittest.TestCase):def setUp(self) :#准备工作,每条用例都执行print("~~~~~~~开始测试~~~~~~~")def tearDown(self):#收尾工作,每条用例都执行print("------测试结束------")def test_1(self):# 测试用例以test_ 打头self.assert("预期值","类(参数1,参数2).方法()",msg="失败时显示")def test_2(self):# 测试用例以test_ 打头self.assert("预期值","类(参数1,参数2).方法()",msg="失败时显示")if __name__ == '__main__':# 测试执行器unittest.main()
Unittest简单项目相关推荐
- python参数化_Python unittest 简单实现参数化的方法
Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确. 引用Stack Overflow的一个答案, "单元测试应该是独立的,没有 ...
- python有什么简单项目_python有什么简单项目适合初学者?
python有什么简单项目适合初学者?下面我将介绍几个简单的Python小项目,便于大家学习提升自己的Python开发水平.感兴趣的朋友一起来了解一下吧. 适合初学者学习的项目: 实例一:满分推荐,非 ...
- 前后端分离简单项目--蚂蚁博客--后端部分
原文网址:前后端分离简单项目--蚂蚁博客--后端部分_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍我从0开发的前后端分离的简单项目--蚂蚁博客.本博文介绍后端部分. 本项目是 ...
- Java面向对象之简单项目制作(DVD管理系统)
Java面向对象之简单项目制作(DVD管理系统) 任务:完成DVD的管理 主要功能: 1.新增DVD 2.查看DVD 3.删除DVD 4.借出DVD 5.归还DVD DVD类 String name; ...
- SSH框架连接Oracle的一个简单项目
SSH框架连接Oracle的一个简单项目 项目准备 知识准备 软件 实操 代码 页面展示 遇到的问题 项目准备 知识准备 下面是我一个新手对于本次项目的了解: 我们是使用spring整合struts2 ...
- 前后端分离简单项目--蚂蚁博客--简介
原文网址:前后端分离简单项目--蚂蚁博客--简介_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍我从0开发的前后端分离的简单项目--蚂蚁博客. 本项目是一个全栈项目,使用主流.前沿的技术栈开发 ...
- jenkins+docker的简单项目部署
怎么使用docker实现新项目的发布,一般有两种方式,以一个web容器为例: 1:定制一个通用的web容器镜像,以逻辑卷-v的方式,关联webapp目录到宿主机,每次发布新版本时只需要更新宿主机上关联 ...
- python简单项目-4个Python经典项目实战,练手必备哦!
Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...
- python简单项目-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
最新文章
- 性能更好的js动画实现方式——requestAnimationFrame
- java jni.h_java-如何使jni.h被找到?
- JavaWeb学习总结(五十)——文件上传和下载
- HTTP Basic 验证客户端 C#实现笔记
- 向js中添加静态方法与属性方法
- grails框架_Play和Grails Java框架的优缺点
- Java之PriorityQueue有序队列
- C#中使用GUID的笔记
- SECS/GEM EAP介绍
- PRINCE2和PMP体系架构有何区别
- word向下箭头符替换和打印,去掉多余换行
- 实习测试的一个月总结与心得
- php物联网智能家居系统源代码,基于物联网技术的智能家居控制系统设计方案
- 2020ECCV|EPNet: Enhancing Point Features with Image Semantics for 3D Object Detection阅读笔记
- 计算机毕业设计jsp宠物美容网站
- 最完整苹果IOS个人开发账号升级方法-个人开发账号升级为公司开发者账号常见误区...
- 3节点Fate集群实战记录(全网最详细)--横向联邦学习
- DirectX 性能优化
- 电子商务网站测试总结
- 岚图卖不动,到底谁的锅?
热门文章
- Smoke Test And Ad hoc Test
- jar 文件打不开解决的办法
- 全球当下最厉害的14位程序员,说没听过简直离谱~
- Codeforces Round #739 (Div. 3) A. Dislike of Threes
- DSPack初次使用小结
- 监督和非监督分类及后处理过程全过程(超详细带解读)
- VxWorks任务挂死实战分析
- 复现“Wideband Class-F1 Power Amplifier with Dual-Quad-Mode Bandpass Response” IEEE 2020 上篇
- 生物学经典blast比对算法,R语言和Python如何实现?
- 【转】TCP ECE/CWR标识位