python测试驱动开发pdf_python 测试驱动开发的简单例子
一、需求分析
需求:一个类 MyClass,有两个功能:add, sub
1.先功能设计
# myclass.py
class MyClass(object):
# 加法
def add(self):
pass
# 减法
def sub(self):
pass
2.再功能测试
import unittest
from myclass import MyClass
class mytest(unittest.TestCase):
# 初始化
def setUp(self):
self.mc = MyClass()
# 退出清理
def tearDown(self):
pass
# 测试加法
def test_add(self):
self.assertEqual(3, self.mc.add(1, 2))
# 测试减法
def test_sub(self):
self.assertEqual(1, self.mc.sub(2, 1))
if __name__ =='__main__':
unittest.main()
3.再功能实现
# myclass.py
class MyClass(object):
def __init__(self):
super().__init__()
def add(self, x, y):
return x + y
def sub(self, x, y):
return x-y
4.进行测试
$ python myclass_test.py
OK,现在可以向客户交货了。
老板发话,大家幸苦了,明天放假休息一天。
一切都很美好!
二、需求有变
等等,客户半夜给老板打电话,说有些东西要变一下。
说好的休一天假泡汤了
客户说,1+1=2没有问题,但如果是'1'+'1'='11'是不允许的
这尼玛什么变态的需求啊!好吧,客户是上帝
1.修改功能测试
import unittest
from myclass import MyClass
class mytest(unittest.TestCase):
# 初始化
def setUp(self):
self.mc = MyClass()
# 退出清理
def tearDown(self):
pass
# 测试加法
def test_add(self):
self.assertEqual(3, self.mc.add(1, 2))
self.assertRaises(ValueError, self.mc.add, '1', '2') # 两个数都不是数字,则需要报错
# 测试减法
def test_sub(self):
self.assertEqual(1, self.mc.sub(2, 1))
if __name__ =='__main__':
unittest.main()
2.修改功能实现
# myclass.py
class MyClass(object):
def __init__(self):
super().__init__()
def add(self, x, y):
#return x + y
number_types = (int, float, complex)
if isinstance(x, number_types) and isinstance(y, number_types):
return x + y
else:
raise ValueError
def sub(self, x, y):
return x-y
3.进行测试
$ python myclass_test.py
好了,交货!
求求您千万别再提什么别的变态的需求了。
python测试驱动开发pdf_python 测试驱动开发的简单例子相关推荐
- 在敏捷中应用测试驱动开发
在敏捷和DevOps领域,企业越来越关注持续集成和持续部署问题.他们更频繁地更新软件,给软件测试造成额外的时间压力.而测试驱动开发可以成为解决这个问题的一剂良方. \\ 什么是测试驱动开发? \\ 测 ...
- 测试驱动开发 测试前移_测试驱动开发:它是什么,什么不是。
测试驱动开发 测试前移 by Andrea Koutifaris 由Andrea Koutifaris Test driven development has become popular over ...
- 测试驱动开发_DevOps之浅谈测试驱动开发
"测试驱动开发(Test-Driven Development, TDD),以测试作为开发过程的中心,它要求在编写任何产品代码之前,先编写用于定义产品代码行为的测试,而编写的产品代码又要以使 ...
- 被高估了的测试驱动开发?
测试驱动开发(TDD)始于上世纪 90 年代,时至今时今日,依然只有少数的开发者在践行着.本文作者从软件开发者的角度,又一次帮助我们定义了测试驱动开发,解答了众多开发着对 TDD 常见的谬误. 作者 ...
- 如何使用 Django 进行测试驱动开发,我来告诉你
所谓测试驱动开发(TDD),就是先编写测试用例,然后编写代码来满足测试用例,具体包含以下步骤: 编写测试用例. 编写代码满足测试用例中的需求. 运行测试用例. 如果通过,说明代码满足了测试用例所定义的 ...
- 简单的11步在Laravel中实现测试驱动开发
测试驱动开发(英语:Test-driven development,缩写为TDD)是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名. 下文是我在Mediu ...
- python测试驱动开发_使用Python进行测试驱动开发的简单介绍
python测试驱动开发 by Dmitry Rastorguev 德米特里·拉斯托格夫(Dmitry Rastorguev) 使用Python进行测试驱动开发的简单介绍 (A simple intr ...
- C++ 测试驱动开发
看到一篇非常好的C++测试驱动开发文章,这里转载下. 测试驱动开发(TDD)背景及综述 测试驱动开发是 Kent 提出的一种新的软件开发流程,现在已广为人知,这种开发方法依赖于极短重复的开发周期,面对 ...
- 面向 C++ 的测试驱动开发
测试驱动开发(TDD)背景及综述 测试驱动开发是 Kent 提出的一种新的软件开发流程,现在已广为人知,这种开发方法依赖于极短重复的开发周期,面对开发需求,开发人员要先开发代码测试用例,这些代码实现的 ...
最新文章
- 加载BeanFactory
- python成员变量和全局变量_python 全局变量和局部变量详解笔记
- 使用CUDA计算Haar小波变换
- unity 继承会调用start吗_【浅入浅出】Unity 雾效
- idea安装Maven Helper
- PHP CLI应用的调试原理
- 生态学研究方法(一)
- 连接CPU和计算机的总线,什么是计算机总线 总线和接口的区别
- oracle之基本的sql_select语句之课后练习
- 大一萌新看过来,C语言学到什么程度,才能“毕业不失业”!
- 智慧屏鸿蒙系统简介,首发鸿蒙系统,荣耀智慧屏是何方神圣?
- 台式计算机开关电源原理图,计算机开关电源基本结构及原理
- python语言的运行效率高吗_为什么python运行效率低?原来因为它!
- postgresql中DROP OWNED BY user_name对普通用户和只读用户的区别
- 网络中搜不到局域网内的其他计算机,局域网中搜不到其他计算机怎么修复
- excel如何一次批量选中工作表全部图片
- Oracle创建定时任务教程
- 人机大战,历史的见证
- 英国药品信息数据查询(网址)
- 【议程公布】2021年MongoDB中文社区南京技术沙龙
热门文章
- linux mint ubuntu 16.06,Ubuntu和Linux Mint:安装Pinta 1.6工具
- Greenplum的系统表
- RSRP、RSSI、RSRQ、SINR简单的解释
- APPNP:PREDICT THEN PROPAGATE: GRAPH NEURAL NETWORKS MEET PERSONALIZED PAGERANK
- 怎么保证自动化脚本没有问题_质量保证将使设计变得自动化
- Intel IPP密码库 IPPCP 2018——第二部分 对称密码算法开发说明与示例代码
- 为什么开发与测试老掐架呢
- matlab箭头大小固定,科学网—Matlab 粗箭头绘制 - 肖鑫的博文
- im即时通讯开发如何理解定位技术
- 我只说一次,这样用领英开发国外客户,屡试不爽!