测试代码的练习——python编程从入门到实践
11-1 城市和国家:编写一个函数,它接受两个形参:一个城市名和一个国家名。这个函数返回一个格式为City,Country的字符串,如Santiago,Chile。这个函数存储在一个名为city_functions.py的模块中。
创建一个名为test_cities.py的程序,对刚编写的函数进行测试(别忘了导入模块unittest以及要测试的函数)。编写一个名为test_city_country()的方法,核实使用类似于'santiago'和'chile'这样的值来调用前述函数时,得到的字符串是正确的。运行test_cities.py,确认测试test_city_country()通过了。
city_functions.py
def city_country(city, country):
return city.title() + ', ' + country.title()
test_cities.py
import unittest
from city_functions import city_country class CityFunctionsTestCase(unittest.TestCase):
"""测试city_functions.py""" def test_city_country(self):
"""测试函数能够返回这样的字符串:Santiago, Chile"""
c_c = city_country('santiago', 'chile')
self.assertEqual(c_c, 'Santiago, Chile') if __name__ == "__main__":
unittest.main()
运行test_cities.py:
Ran 1 test in 0.002s OK
经确认测试test_city_country()通过了。
11-2 人口数量:修改前边的函数,使其包含第三个必不可少的形参population,并返回一个格式为City,Country - population xxx 的字符串,如Santiago,Chile - population 5000000。运行test_cities.py,确认测试test_city_country()未通过。
修改上述函数,将形参population设置为可选的。再次运行test_cities.py,确认测试test_city_country()又通过了。
再编写一个名为test_city_country_population()的测试,核实可以使用类似'santiago','chile' 和 'population=5000000' 这样的值来调用这个函数。再次运行test_cities.py,确认测试test_city_country_population()通过了。
city_functions.py
def city_country(city, country, population):
return city.title() + '. ' + country.title() + '- population ' + str(population)
修改函数 -> 运行test_cities.py -> 确认测试test_city_country()未通过。
city_functions.py
def city_country(city, country, population=''):
if population:
return city.title() + ', ' + country.title() + ' - population ' + str(population)
else:
return city.title() + ', ' + country.title()
修改函数 -> 运行test_cities.py -> 确认测试test_city_country()又通过了。
def test_city_country_population(self):
"""测试函数能返回这样的字符串:Santiago,Chile - population 5000000"""
c_c_p = city_country('santiago', 'chile', population=5000000)
self.assertEqual(c_c_p, 'Santiago, Chile - population 5000000')
在test_cities.py中添加一个名为test_city_country_population()的测试 -> 再次运行test_cities.py -> 确认测试test_city_country_population()通过了。
测试代码的练习——python编程从入门到实践的更多相关文章
- 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习
入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- Python编程从入门到实践
Python编程从入门到实践1 起步2 变量和简单数据类型3 列表简介4 操作列表5 if语句6 字典7 用户输入和while循环8 函数9 类10 文件和异常11 测试代码12 武装飞船13 外星人 ...
- 《Python编程:从入门到实践》分享下载
书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...
- 《python编程从入门到实践》读书实践笔记(二)
本文是<python编程从入门到实践>读书实践笔记11章的内容,主要包含测试,为体现测试的重要性,独立成文. 11 测试代码 写在前面的话,以下是我这些年开发中和测试相关的血泪史. 对于一 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程-从入门到实践 Eric Matthes 著 袁国忠 译 - - 第二章 动手试一试
因为第一章的动手试一试基本都是探索性的,所以直接进入第二章. # 2.2 动手试一试 # 2_1 简单消息: 将一条消息存储到变量中,再将其打印出来. message = 'python 编程从入门到 ...
- 《Python编程从入门到实践》_第十章_文件和异常
读取整个文件 文件pi_digits.txt #文件pi_digits.txt 3.1415926535 8979323846 2643383279 下面的程序打开并读取整个文件,再将其内容显示到屏幕 ...
随机推荐
- gevent.queue
目录 Gevent gevent基础之阻塞,非阻塞 同步,异步概念 同步异步与阻塞,非阻塞区别 Queue python内置Queue介绍 Gevent gevent基础之阻塞,非阻塞 1.geven ...
- 使用viper 进行golang 应用的配置管理
viper 是一个强大的golang 配置管理包,支持多种配置格式内容的读取,同时支持读取key/value 存储的数据 而且不只是读取内容 ,同时也包含了,配置的写入操作. 以下是一个简单的demo ...
- Cronicle 基于nodejs 的分布式任务调度工具
Cronicle 是一款不多的分布式任务调度工具,基于nodejs 开发,同时包含看web UI,从官方介绍看到的UI还是 挺不错的,而且功能很丰富,值得试用下 参考资料 http://cronicl ...
- cf1175 D\E
链接 成功带wxy掉分..全程0输出 D E D 题意 把序列分成连续k段,f(i)表示i这个在第几段 \(\sum\limits_{i=1}^{n}a_i*f(i)\)最大 思路 想象成从k层积木依 ...
- 洛谷 P5408 【模板】第一类斯特林数·行
传送门 首先,有 \[ x^{\overline n}=\sum_k\begin{bmatrix}{n\\ k}\end{bmatrix}x^{k}\\ \] 那么我们只需要求出\(x^{\overl ...
- 【Beta】“北航社团帮”测试报告——小程序v2.0与网页端v1.0
目录 测试计划.过程和结果 后端测试--单元测试与覆盖率 后端测试--压力测试 展示部分数据 平均数据 前端测试--小程序v2.0 授权登录与权限检查 新功能的测试 兼容性测试 性能测试 前端测试-- ...
- kafka window环境下使用(内置zookeeper)
下载 kafka 官网下载最新版本(已集成 zookeeper) 解压到 D 盘的 kafka_2.12-2.3.0 运行 zookeeper 执行 zookeeper 运行命令 D:\kafka_2 ...
- Indellij IDEA的菜单 File Edit View等主菜单栏不小心删除,恢复的解决办法
修改以后保存,重启Idea
- k8s记录-kubeam方式部署k8s
参考:https://blog.csdn.net/networken/article/details/84991940 # k8s工具部署方案 # 1.集群规划 | **服务器** | || ---- ...
- mysql的几个操作
1.忘记密码,从控制台免密码登录: 修改/etc/my.cnf,[mysqld]下加一行:skip-grant-tables 重启mysql: /etc/init.d/mysqld restart 命 ...