以__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)

 

posted @ 2015-10-30 08:25  Xiao|Deng  阅读(277)  评论(0编辑  收藏  举报