以__name__进行单元测试
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#以__name__进行单元测试 #何为单元测试?
#单元测试(模块测试)是开发者编写的一小段代码,用于检测被测代码的一个很小的、很明确的功能是否正确。
#通常而言,单元测试是用于判断某个特定条件下某一个特定函数的行为 。
#单元测试由程序员自己完成,最终受益者也是其自己,换个理解就是程序员有责任编写功能diamante,也有责任为自己的代码编写单元测试。
#执行单元测试,就是为了证明这段代码的行为和我们的期望是否一致。
#工厂在组装每一台电视机之前,都会对每个元件进行测试,这就是单元测试。 #案例
def minmax(test,*args):
res=args[0]
for arg in args[1:]:
if test(arg,res):
res=arg
return res
def lessthan(x,y):return x<y
def grtrthan(x,y):return x>y print minmax(lessthan,4,2,1,5,6,3)
print minmax(grtrthan,4,2,1,5,6,3) #解析说明:
#如上例子,无论是shell命令下还是作为包导入,都会运算其结果,对于用户来讲并不是非常友好的方式
#改进之后,我们以__name__检测区块内封装了自我测试的调用,使其在文件作为顶层甲苯执行时才会启动运算结果,而导入时不会进行运算。
#改进如下: #案例
def minmax(test,*args):
res=args[0]
for arg in args[1:]:
if test(arg,res):
res=arg
return res
def lessthan(x,y):return x<y
def grtrthan(x,y):return x>y if __name__=='__main__':
print minmax(lessthan,4,2,1,5,6,3)
print minmax(grtrthan,4,2,1,5,6,3)
以__name__进行单元测试的更多相关文章
- Python2.5-原理之模块
此部分来自于<Python学习手册>第五部分 一.模块(21章) 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用..模块往往对应于python程序文件.每个文件就是一个模 ...
- python入门示例程序
该实例是raspi和dsp电机运动控制板的串口uart通信: import serial class SerialHandler(): ''' raspi serial for communicati ...
- Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘
Python学习手册(第4版) - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:g7v1 作者简介 作为全球Python培训界的领军人物,<Python学习手册:第4版>作者M ...
- Python学习手册(第4版)PDF高清完整版免费下载|百度云盘
Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...
- 单元测试框架 unittest 的运行方法if __name__ == '__main__': unittest.main()
1. if __name__ == '__main__': unittest.main()2. 测试用例实例根据测试的特点分组在一起. unittest为此提供了一个机制:测试套件由unittest' ...
- Python的单元测试(二)
title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...
- Python的单元测试(一)
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...
- python_单元测试unittest
Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...
- python单元测试unittest
单元测试作为任何语言的开发者都应该是必要的,因为时隔数月后再回来调试自己的复杂程序时,其实也是很崩溃的事情.虽然会很快熟悉内容,但是修改和 调试将是一件痛苦的事情,如果你在修改了代码后出现问题的话,而 ...
随机推荐
- 我对NHibernate的感受(4):令人欣喜的Interceptor机制
之前谈了NHibernate的几个方面,似乎抱怨的居多,不过这次我想谈一下我对Interceptor的感受,则基本上都是好话了.这并不一定是说Interceptor设计的又多么好(事实上它使用起来还是 ...
- arcgis python 创建 SQLite 数据库
# -*- ################# """ Tool name: Create SQLite Database Source: CreateSQLiteDat ...
- 算法:Rate of Growth
Rate of growth describes how an algorithm’s complexity changes as the input size grows. This is comm ...
- java执行ping命令
public static void get() throws IOException{ String address="10.132.118.110"; Process proc ...
- Oracle中表列由VARCHAR2类型改成CLOB
情景 原来表中的列定义成VARCHAR2类型,众所周知,VARCHAR2类型最大支持长度为4000.假设因为业务须要.想把此列转换为CLOB类型,在Oracle中直接通过ALTER语句转换是行不通的. ...
- Informatica 常用组件Aggregator之二 分组依据端口
聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口 ...
- Python源码学习七 .py文件的解释
Python源码太复杂了... 今天看了下对.py文件的parse, 云里雾里的 py文件是最简单的, 在python的交互式窗口 import这个模块 a = 10 print(a) 开始分析,堆栈 ...
- Search in Rotated Sorted Array leetcode java
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- core dump相关
linux下生成core dump文件方法及设置 http://www.2cto.com/os/201310/253450.html 在linux平台下,设置core dump文件生成的方法: 1 ...
- nm 命令 程序符号信息查看
http://www.cnblogs.com/wangkangluo1/archive/2012/07/02/2572438.html 用途 显示关于对象文件.可执行文件以及对象文件库里的符号信息. ...