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简单项目相关推荐

  1. python参数化_Python unittest 简单实现参数化的方法

    Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确. 引用Stack Overflow的一个答案, "单元测试应该是独立的,没有 ...

  2. python有什么简单项目_python有什么简单项目适合初学者?

    python有什么简单项目适合初学者?下面我将介绍几个简单的Python小项目,便于大家学习提升自己的Python开发水平.感兴趣的朋友一起来了解一下吧. 适合初学者学习的项目: 实例一:满分推荐,非 ...

  3. 前后端分离简单项目--蚂蚁博客--后端部分

    原文网址:前后端分离简单项目--蚂蚁博客--后端部分_IT利刃出鞘的博客-CSDN博客 简介 说明         本文介绍我从0开发的前后端分离的简单项目--蚂蚁博客.本博文介绍后端部分. 本项目是 ...

  4. Java面向对象之简单项目制作(DVD管理系统)

    Java面向对象之简单项目制作(DVD管理系统) 任务:完成DVD的管理 主要功能: 1.新增DVD 2.查看DVD 3.删除DVD 4.借出DVD 5.归还DVD DVD类 String name; ...

  5. SSH框架连接Oracle的一个简单项目

    SSH框架连接Oracle的一个简单项目 项目准备 知识准备 软件 实操 代码 页面展示 遇到的问题 项目准备 知识准备 下面是我一个新手对于本次项目的了解: 我们是使用spring整合struts2 ...

  6. 前后端分离简单项目--蚂蚁博客--简介

    原文网址:前后端分离简单项目--蚂蚁博客--简介_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍我从0开发的前后端分离的简单项目--蚂蚁博客. 本项目是一个全栈项目,使用主流.前沿的技术栈开发 ...

  7. jenkins+docker的简单项目部署

    怎么使用docker实现新项目的发布,一般有两种方式,以一个web容器为例: 1:定制一个通用的web容器镜像,以逻辑卷-v的方式,关联webapp目录到宿主机,每次发布新版本时只需要更新宿主机上关联 ...

  8. python简单项目-4个Python经典项目实战,练手必备哦!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  9. python简单项目-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

最新文章

  1. 性能更好的js动画实现方式——requestAnimationFrame
  2. java jni.h_java-如何使jni.h被找到?
  3. JavaWeb学习总结(五十)——文件上传和下载
  4. HTTP Basic 验证客户端 C#实现笔记
  5. 向js中添加静态方法与属性方法
  6. grails框架_Play和Grails Java框架的优缺点
  7. Java之PriorityQueue有序队列
  8. C#中使用GUID的笔记
  9. SECS/GEM EAP介绍
  10. PRINCE2和PMP体系架构有何区别
  11. word向下箭头符替换和打印,去掉多余换行
  12. 实习测试的一个月总结与心得
  13. php物联网智能家居系统源代码,基于物联网技术的智能家居控制系统设计方案
  14. 2020ECCV|EPNet: Enhancing Point Features with Image Semantics for 3D Object Detection阅读笔记
  15. 计算机毕业设计jsp宠物美容网站
  16. 最完整苹果IOS个人开发账号升级方法-个人开发账号升级为公司开发者账号常见误区...
  17. 3节点Fate集群实战记录(全网最详细)--横向联邦学习
  18. DirectX 性能优化
  19. 电子商务网站测试总结
  20. 岚图卖不动,到底谁的锅?

热门文章

  1. Smoke Test And Ad hoc Test
  2. jar 文件打不开解决的办法
  3. 全球当下最厉害的14位程序员,说没听过简直离谱~
  4. Codeforces Round #739 (Div. 3) A. Dislike of Threes
  5. DSPack初次使用小结
  6. 监督和非监督分类及后处理过程全过程(超详细带解读)
  7. VxWorks任务挂死实战分析
  8. 复现“Wideband Class-F1 Power Amplifier with Dual-Quad-Mode Bandpass Response” IEEE 2020 上篇
  9. 生物学经典blast比对算法,R语言和Python如何实现?
  10. 【转】TCP ECE/CWR标识位