当前位置: 首页 > news >正文

python - unitest - 实战题目

'''
题目要求

1:自己写一个工具类,完成数学的加减乘除以及平方积操作
2:对每个方法写2个用例
3:针对测试用例选用不同的方法去执行,然后生成测试报告
'''


'''
实现:
  3个文件:
work_20181127_mathtool.py : 定义计算方法

work_20181127_testcase.py : 定义测试用例
work_20181127_testrun.py  : 定义测试集,生成测试报告
'''


代码:

work_20181127_mathtool.py:

# -*- coding:utf-8 -*-

'''
@project: jiaxy
@author: Jimmy
@file: work_20181127_mathtool.py
@ide: PyCharm Community Edition
@time: 2018-11-27 14:17
@blog: https://www.cnblogs.com/gotesting/

'''

class MathTool:

# 加法
def add(a,b):
res = a + b
print('{0} + {1} = {2}'.format(a,b,res))
return res

# 减法
def pop(a,b):
res = a - b
print('{0} - {1} = {2}'.format(a,b,res))
return res

# 乘法
def mul(a,b):
res = a * b
print('{0} * {1} = {2}'.format(a,b,res))
return res

# 除法
def div(a,b):
res = a / b
print('{0} / {1} = {2}'.format(a,b,res))
return res

# 平方积
def square(a,b):
res = (pow(a,2)) * (pow(b,2))
print('{0} 与 {1} 的平方积 = {2}'.format(a,b,res))
return res




work_20181127_testcase.py:



# -*- coding:utf-8 -*-

'''
@project: jiaxy
@author: Jimmy
@file: work_20181127_testcase.py
@ide: PyCharm Community Edition
@time: 2018-11-27 14:30
@blog: https://www.cnblogs.com/gotesting/

'''

import unittest
from work_20181127_mathtool import MathTool

class TestMT(unittest.TestCase):

def setUp(self):
print('开始对MathTool进行运算测试!')

def tearDown(self):
print('测试完成!')

def test_add_001(self):
res = MathTool.add(10,5)
expect = 15
try:
self.assertEquals(expect,res)
print('测试通过!')
except Exception as e:
raise e

def test_add_002(self):
res = MathTool.add(3,4)
expect = 6
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_pop_001(self):
res = MathTool.pop(6,2)
expect = 4
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_pop_002(self):
res = MathTool.pop(10,4)
expect = 5
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_mul_001(self):
res = MathTool.mul(2,2)
expect = 4
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_mul_002(self):
res = MathTool.mul(3,4)
expect = 11
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_div_001(self):
res = MathTool.div(20,5)
expect = 4
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_div_002(self):
res = MathTool.div(10,5)
expect = 3
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_square_001(self):
res = MathTool.square(2,3)
expect = 36
try:
self.assertEquals(expect,res)
except Exception as e:
raise e

def test_square_002(self):
res = MathTool.square(2,4)
expect = 63
try:
self.assertEquals(expect,res)
except Exception as e:
raise e



work_20181127_testrun.py:

# -*- coding:utf-8 -*-

'''
@project: jiaxy
@author: Jimmy
@file: work_20181127_testrun.py
@ide: PyCharm Community Edition
@time: 2018-11-27 14:49
@blog: https://www.cnblogs.com/gotesting/

'''


import unittest
import work_20181127_testcase
from work_20181127_testcase import TestMT
import HTMLTestRunner


def run_test_01():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromModule(work_20181127_testcase))

with open('test_result.html','wb+') as file:
runner = HTMLTestRunner.HTMLTestRunner(
stream = file,
verbosity = 2
)
runner.run(suite)

def run_test_02():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTest(loader.loadTestsFromTestCase(TestMT))

with open('test_result.html','wb+') as file:
runner = HTMLTestRunner.HTMLTestRunner(
stream = file,
verbosity = 2
)
runner.run(suite)

def run_test_03():
suite = unittest.TestSuite()
suite.addTest(TestMT('test_add_001'))
suite.addTest(TestMT('test_add_002'))
suite.addTest(TestMT('test_pop_001'))
suite.addTest(TestMT('test_pop_002'))
suite.addTest(TestMT('test_mul_001'))
suite.addTest(TestMT('test_mul_002'))
suite.addTest(TestMT('test_div_001'))
suite.addTest(TestMT('test_div_002'))
suite.addTest(TestMT('test_square_001'))
suite.addTest(TestMT('test_square_002'))
with open('test_result.html','wb+') as file:
runner = HTMLTestRunner.HTMLTestRunner(
stream = file,
verbosity = 2
)
runner.run(suite)

if __name__ == '__main__':

run_test_01()
# run_test_02()
# run_test_03()


测试报告:

 




转载于:https://www.cnblogs.com/gotesting/p/10026705.html

相关文章:

  • Linux磁盘空间占满问题快速定位
  • 4个顶级开源JavaScript图表库
  • JAVA入门到精通-第58讲-SQLserver数据类型
  • spring cloud构建java版 b2b2c o2o电子商务云商平台
  • 单表千亿电信大数据场景,使用Spark+CarbonData替换Impala案例
  • How to remove unwant Explorer Context Menu
  • 卷积网络实战---复现已有的卷积神经网路
  • in typeof instanceof ===这些运算符有什么作用
  • mysql_config not found
  • 情绪与神经
  • 初识docker之如何运行一个容器
  • 20181203-join核心模块方法 + events核心模块发布订阅模式 + fs读写文件流
  • AWS实战 - 利用IAM对S3做访问控制
  • 糟糕的软件设计:幻想出来的问题
  • windows下启动和运行分布式消息中间件消息队列 kafka
  • CentOS6 编译安装 redis-3.2.3
  • export和import的用法总结
  • flutter的key在widget list的作用以及必要性
  • JavaScript设计模式与开发实践系列之策略模式
  • java中具有继承关系的类及其对象初始化顺序
  • learning koa2.x
  • Less 日常用法
  • mongo索引构建
  • Protobuf3语言指南
  • rabbitmq延迟消息示例
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 不上全站https的网站你们就等着被恶心死吧
  • 成为一名优秀的Developer的书单
  • 创建一个Struts2项目maven 方式
  • 浮现式设计
  • 离散点最小(凸)包围边界查找
  • 漂亮刷新控件-iOS
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 问题之ssh中Host key verification failed的解决
  • 关于Android全面屏虚拟导航栏的适配总结
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ![CDATA[ ]] 是什么东东
  • ###项目技术发展史
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #includecmath
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (1) caustics\
  • (14)Hive调优——合并小文件
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二)windows配置JDK环境
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上