寒假Python之旅final part
寒假Python之旅final part
看到一个认识的人一天13小时高强度写代码,顿时感觉十分羞愧。我怎么这么弱啊.jpg已经鸽。了两天了哦草。不过看起来我很快就能实际运用了)
2.17
第 11 章 测试代码
Python标准库中的模块unittest 提供了代码测试工具。(关于这个标准库,应该是在Python3.0下面的位置,直接使用import,而对于你自己写的模块,得放到和.py同一目录下才能用)
Python标准库中的模块unittest 提供了代码测试工具。
单元测试:看看函数的某个方面有没有问题
测试用例:一组单元测试,来测试函数是否在各种情况下都适用。进酒吧点了一份炒饭
全覆盖式测试:顾名思义,覆盖了各种可能的使用方法
创建测试用例:先导入模块unittest 以及要测试的函数,再创建一个继承unittest.TestCase 的类,并编写一系列方法对函数行为的不同方面进行测试。
import unittest #导入模块 from name_function import get_formatted_name #导入函数class NamesTestCase(unittest.TestCase):"""测试name_function.py"""def test_first_last_name(self):"""能够正确地处理像Janis Joplin这样的姓名吗?"""formatted_name = get_formatted_name('janis', 'joplin')self.assertEqual(formatted_name, 'Janis Joplin')unittest.main(). #一个句号表示一个测试通过了 ---------------------------------------------------------------------- Ran 1 test in 0.000sOK #OK表示所有单元测试都通过了
总之照葫芦画瓢(受不了了,看了下视频,还是没整明白,这都啥啊)总之我的建议是不要想太多,unittest.TestCase这名字能当类我不是很理解,就当是测试代码的格式罢。
断言方法:在unittest类中,用来核实得到的结果是否与期望的结果一致。
方法
assertEqual()
,将两个参数的值比较,相同的话就吱一声。测试没通过会这样:
E #指出有一个错误,如果断言有问题就是F ====================================================================== ERROR: test_first_last_name (__main__.NamesTestCase) ---------------------------------------------------------------------- Traceback (most recent call last):File "test_name_function.py", line 8, in test_first_last_nameformatted_name = get_formatted_name('janis', 'joplin') TypeError: get_formatted_name() missing 1 required positional argument: 'last'---------------------------------------------------------------------- Ran 1 test in 0.000sFAILED (errors=1)
Python在unittest.TestCase 类中提供了很多断言方法。
方法 用途 assertEqual(a, b) 核实a == b assertNotEqual(a, b) 核实a != b assertTrue(x) 核实x 为True assertFalse(x) 核实x 为False assertIn(item , list ) 核实 item 在 list 中 assertNotIn(item , list ) 核实 item 不在 list 中 测试类:其实和测试函数没什么区别。。。
方法setup():如果你在TestCase 类中包含了方法
setUp()
,Python将先运行它,再运行各个以test_打头的方法。可以创建调查对象和答案。
至此,我大致学完了基础知识,看起来终于可以实操了)))
腰斩!!!
由于接下来的部分都是实操,基础知识,而且临近开学,所以我学着学着突然想到:我学这些特化部分干啥?所以把写一半的给删了,看起来很少是理所当然的,因为我已经学完基础知识了(
所以说我们寒假python之旅迎来了结束
可喜可贺可喜可贺ヾ( ̄▽ ̄)ByeBye
寒假Python之旅final part相关推荐
- 开启python之旅
1.python安装 Anaconda安装地址:https://www.anaconda.com/ 2.Pycharm安装 Pycharm安装地址:https://www.jetbrains.com/ ...
- 开启我的Python之旅
开启我的Python之旅 有人说,"聪明的人喜欢阅读,智慧的人喜欢写作".而我,既不是那种才高八斗,疯狂阅读的人,也不是那种激扬文字,热衷于写作的人.我就是我--一个平凡的我,一个 ...
- 寒假Python第三天作业
寒假Python第三天作业作业 1:计算器: 请输入两个数和一个符号,完成两个数的+ - * / % // ** a=float (input ("请输入第一个数 : ")) b= ...
- Python之旅:入门
一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器取代/解放人力,而 ...
- 贝斯狸的 Python 之旅 -- 深入切片操作及原理
我首先通过 input() 函数,接收了外部输入字符串,然后通过 list 函数的切片,实现了回文数,代码真的好简洁,我自己都佩服我自己,我也不知道小组长会问我切片原理,我好无奈呀. s = inpu ...
- Python之旅.第九章.并发编程..
一.全局解释器锁 (GIL) 运行test.py的流程: a.将python解释器的代码从硬盘读入内存 b.将test.py的代码从硬盘读入内存 (一个进程内装有两份代码) c.将test.py中的 ...
- 【Python之旅】第五篇(三):Python Socket多线程并发
1.多线程模块 主要是socketserver模块,如下图示: 2.多线程原理 如下图示说明: 3.SockteServer例子说明 服务器端: 客户端: 4.演示 还是以前面例子,对代码进行修改,作 ...
- 【Python之旅】第五篇(一):Python Socket通信原理
1.Socket socket也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.可以列举中 ...
- 【Python之旅】第七篇(二):Redis使用基础
0.说明 由于学习开发监控软件的需要,因此需要使用到Redis,这里简单介绍. 注意,使用的环境为:Ubuntu 15.10 1.安装 可以采用源码安装,也可以采用apt-get来安装,都比较简单. ...
最新文章
- [转]软件项目版本号的命名规则及格式
- js kettle 设置变量_kettle与钉钉结合的企业内部应用扩展01
- 夜间灯光数据dn值_中国区域DMSP/OLS夜间灯光影像的校正
- C#计算两个时间的差
- pos共识机制_OK区块链60讲 | 第17集:什么是PoS共识机制
- 2005年博客发展十大悬疑
- 大型Lambda的C# 泊松累积分布
- java判断三位数的范围代码_java判断三位数的实例讲解
- linux下隐藏root进程,宝塔面板隐藏彩蛋 – btkill.py:Linux异常进程专杀
- Volatile关键字,你真的理解吗?
- PAT 1005 继续(3n+1)猜想
- Java 程序员都该懂的 volatile 关键字
- qt 矩形连续移动_建筑案例:海门謇公湖农产品展销中心-咬合的连续曲面坡屋顶...
- EasyRecovery2022电脑硬盘磁盘数据修复教程
- ts540服务器安装win7系统,解决本机不支持Win7系统安装问题[图文教程]
- LaTex 数学之括号
- STM32 HAL库实现US微秒延时函数
- 元宇宙通证- 九、IT/ICT发展史全景长图
- 如何给pdf添加目录
- word打开文档很久很慢_打开Word文档出现假死或超慢的原因及解决方法
热门文章
- flask-sqlalchemy 汉字插入MySQL sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, “Incorrect strin
- Thinkpad 驱动安装-傻瓜安装
- php 如何守护进程_PHP 编写守护进程
- 2022.3 C++植物大战僵尸项目总结
- C语言,if 语句 系列
- 刘强东:京东不是快递公司 但物流作用显而易见
- 更新驱动后,Aero特效消失
- 列控系统 CTCS(重点是CTCS-2)
- 什么事项可在劳动合同中约定
- 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky