python unittest模块
import unittest
import random class Operation(object): def __init__(self, num1=0, num2=0):
if not (0 <= num1 <= 10 and 0 <= num2 <= 10):
raise OutOfRangeError('number out of range (must be 0~10)')
if not isinstance(num1, int) or not isinstance(num2, int):
raise NotIntegerError('non‐integers can not be operate')
self.operate_num1 = num1
self.operate_num2 = num2 def get_result(self):
pass class AddOp(Operation): def get_result(self):
return self.operate_num1 + self.operate_num2 class MinusOp(Operation): def get_result(self):
return self.operate_num1 - self.operate_num2 class MultiOp(Operation): def get_result(self):
return self.operate_num1 * self.operate_num2 class DivideOp(Operation): def get_result(self):
return self.operate_num1 / self.operate_num2 class OperationFactory(object): @staticmethod
def choose_operation(op):
if op == '+':
return AddOp()
elif op == '-':
return MinusOp()
elif op == '*':
return MultiOp()
elif op == '/':
return DivideOp() class OutOfRangeError(ValueError):
pass class NotIntegerError(ValueError):
pass class KnownValues(unittest.TestCase): def test_add_op(self):
"""测试加法运算是否正确"""
ope_obj = OperationFactory.choose_operation('+')
for i in range(0, 11):
ope_obj.operate_num1 = i
ope_obj.operate_num2 = random.randint(1, 10)
sum1 = ope_obj.operate_num1 + ope_obj.operate_num2
sum2 = ope_obj.get_result()
self.assertEqual(sum1, sum2) def test_out_of_range(self):
"""测试出界"""
for i in [-1, 11]:
operate_num1 = i
self.assertRaises(OutOfRangeError, Operation, operate_num1) def test_integer(self):
"""测试浮点数"""
operate_num1 = 0.5
self.assertRaises(NotIntegerError, Operation, operate_num1) if __name__ == '__main__':
unittest.main()
python unittest模块的更多相关文章
- Python unittest模块心得(一)
关于unittest模块的一些心得,主要是看官网的例子,加上一点自己的理解,官网地址:https://docs.python.org/3.6/library/unittest.html 基础概念介绍: ...
- Python unittest模块心得(二)
基础概念介绍请参看: http://www.cnblogs.com/frost-hit/p/8295818.html 组织测试用例 unittest.TestSuite(tests=()): 除了使用 ...
- python unittest自动测试框架
编写函数或者类时进行测试,确保代码正常工作 python unittest 模块提供了代码测试工具.按照定义测试包括两部分:管理测试依赖库的代码(称为‘固件’)和测试本身. 单元测试用于核实函数的某 ...
- Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
一.Unittest单元测试框架简介 Unitest是Python下的一个单元测试模块,是Python标准库模块之一,安装完Python后就可以直接import该模块,能在单元测试下编写具体的测试用例 ...
- python的单元测试unittest模块
首先需要导入unittest模块 import unittest import HTMLTestRunner # TestCase 也就是测试用例## TestSuite 多个测试用例集合在一起,就 ...
- selenium + python自动化测试unittest框架学习(四)python导入模块及包知识点
在写脚本的时候,发现导入某些模块,经常报错提示导入模块失败,这里来恶补下python导入模块的知识点. 1.模块导入时文件查找顺序 在脚本中,import xxx模块时的具体步骤: (1)新建一个mo ...
- python unittest基本介绍
python内部自带了一个单元测试的模块,pyUnit也就是我们说的:unittest 1.介绍下unittest的基本使用方法: 1)import unittest 2)定义一个继承自unittes ...
- 从python run 和python unittest两种eclipse运行方式深入理解if __name__ == "__main__"
在写一个简单的python测试程序的时候,发现eclipse中Run as "Python run 和 Python unittest”结果不一样?为什么会不一样? 先贴一下代码段: # - ...
- python unittest 测试笔记(一)
测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败. python 单元测试官方文档: [Python: 2.7] (https://docs.python.or ...
随机推荐
- kinect/xiton 的环境搭建 + rgb图像和深度图的标定
~ 软件下载地址 openni https://structure.io/openni https://github.com/OpenNI/OpenNI2 其他软件建议直接下载或通过某宝购买配套的 ~ ...
- python的类型
弱类型是可以自由转换的,如js,字符串和数字能相加 强类型不能自由转换,如python,要加上函数转成相同的类型
- Gemini.Workflow 双子工作流入门教程四:流程应用
简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:定义流程:流程应用. 流程应用: 流程图设计好后, ...
- LeetCode:最接近的三数之和【16】
LeetCode:最接近的三数之和[16] 题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这 ...
- Machine Learning No.2: Linear Regression with Multiple Variables
1. notation: n = number of features x(i) = input (features) of ith training example = value of feat ...
- spring-boot5代码
App.java package com.kfit.spring_boot_mybatis; import org.mybatis.spring.annotation.MapperScan; impo ...
- Java类的加载与生命周期
一.概要: 类的生命周期从类的 加载.连接.初始化 开始,到类的 卸载结束: 二.几个阶段: 加载:查找并加载类的二进制数据.(把类的.class文件的二进制数据读入内存,存放在运行时数据区的方法区: ...
- Dubbo之消费者
在写 dubbbo调用时候 <dubbo:reference 不能有空格! 项目结构: pom: <project xmlns="http://maven.apache.org ...
- python把源代码打包成.exe文件
1.在windows命令行把当前文件夹用cd命令切换到源代码所在文件夹. 2.输入命令:pyinstaller -w -F main.py
- SpringMVC拦截器的配置与使用详解
一.SpringMVC拦截器简介 Spring MVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.在springmvc中,定义拦截 ...