HOMEWORD2
开发工具和语言选择
语言 :pyhton3.6 工具 我选择的是 pycharm2019.1。由于之前已经安装好了,这里就不再贴出。
自动单元测试练习
python单元测试框架Unittest。Unittest最核心的四个概念是:test case, test suite, test runner, test fixture。下面简单介绍一下
Testcase
可以理解为一个单独的测试用例
Testsuit
就是多个测试用例集合在一起
Testloader
加载Testcase到Testsuit,返回一个Testsuit
Testfixture
对一个用例的搭建和销毁
测试函数的编写
mytest.py
class MATH:
def add(self,a,b):
return a+b
def minus(self,a,b):
return a-b
def divide(self,a,b):
return a/b
测试单元
tstunit.py
import unittest
from mytest import *
class theTests(unittest.TestCase):
def setUp(self):
self.m = MATH()
def tearDown(self):
pass
def test_add(self):
result = self.m.add(10,20)
self.assertEqual(30,result)
print('+')
def test_minus(self):
result = self.m.minus(20,10)
self.assertEqual(10,result)
print('-')
def test_divide(self):
result = self.m.divide(9,2)
self.assertEqual(4.5,result)
print('/')
if __name__ == '__main__':
unittest.main()
运行结果
如下图
.表示测试通过 F表示不通过。我们看输出的符号顺序是 + / - 这与我们编写的测试顺序不同。如果想让输出按照我们编写的顺序来实现的话可以这样实现。
在函数名中添加数字来实现
比如之前的test_divide()函数 将其改为test_3_divide(),将test_add()改为test_2_add(),将test_minus()改为test_1_minus()
运行后,输出如下。
另一种方法就是使用Testsuit
Testsuit不仅可以按序测试多个函数,也可以按顺序执行多个测试文件
按顺序将要测试的函数添加到列表中,通过addTests方法添加到Testsuit中
运行结果如下
参考文章
[1](http://www.mamicode.com/info-detail-2366101.html)
[2](https://blog.csdn.net/huilan_same/article/details/52944782)
HOMEWORD2的更多相关文章
- 记录一次错误处理 (xml序列化和反序列化相关)
XML序列化后,反序列化时出现错误 报错现象 System.InvalidOperationException: XML 文档(40, 11)中有错误. ---> System.Xml.XmlE ...
随机推荐
- MinHook 分析01 (x86的jmp+offset类型hook)
MinHook的原理就在于重写目标函数.在这次分析的X86模式中,32位相对JMP覆盖了整个地址空间.因为在相对地址计算中溢出的位被忽略,所以在X86模式中,函数的地址是容易掌控的. 直接来进入正题. ...
- 关于react的分页
基于antdesign分页:表格属性pagination <Table pagination={{ total: this.state.totalNum, showSizeChanger: tr ...
- UBUNTU 16.04 安装AVD "An error occurred while running "android create avd
安装库即可sudo apt-get install lib32stdc++6
- SharePoint Framework 基于团队的开发(二)
博客地址:http://blog.csdn.net/FoxDave 本篇介绍SPFx项目的一般开发流程.SharePoint Framework基于开源的工具链,也遵循开源技术栈中其他项目的开发流程. ...
- 信息技术手册可视化进度报告 基于BeautifulSoup框架的python3爬取数据并连接保存到MySQL数据库
老师给我们提供了一个word文档,里面是一份信息行业热词解释手册,要求我们把里面的文字存进数据库里面,然后在前台展示出来. 首先面临的问题是怎么把数据导进MySQL数据库,大家都有自己的方法,我采用了 ...
- 运行 vue 报node错
当报错 为这样时: 执行--npm install node-sass 即可
- vue路由的懒加载
一.懒加载 也叫延迟加载或者按需加载,即在需要的时候进行加载, 二.为什么要使用懒加载 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要 ...
- Openresty 操作Cookie
Openresty 操作cookie共有两种方法: 1.直接操作 1.1 获取Cookie 获取所有cookie: ngx.var.http_cookie, 这里获取的是一个字符串,如果不存在则返回n ...
- SqlServer 游标逐行更新数据,根据上一行的数据来更新当前行
工作中用到的记录一下,游标的详细定义及说明请百度 --游标格式化数据 DECLARE cursor_jxsmb CURSOR FOR --定义一个游标 SELECT F0 FROM dbo.JXSMB ...
- oracle数据库实例启动与关闭
区分数据库与实例:实例是指各种内存结构和服务进程,数据库是指基于磁盘存储的数据文件.控制文件.参数文件.日志文件和归档日志文件组成的物里文件集合. 数据库实例启动: startup [nomount ...