# -*- 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)