一,单元测试:
作用:用来对一个函数,一个类或者一个模块进行正确性校验工作
结果:单元测试通过。说明测试的函数功能正常;测试不通过,说明函数功能有bug,或者测试条件输入有误
二,针对类进行单元测试
需要测试的类代码
class Person ( ) :
def __init__ ( self, name, age) :
self. name = name
self. age = age
def GetName ( self) :
return self. name
def GetAge ( self) :
return self. age
测试代码
import unittest
from UnitTestClass import Person
class Test ( unittest. TestCase) :
def setUp ( self) - > None :
print ( "开始测试时自动调用" )
def tearDown ( self) - > None :
print ( "结束测试时自动调用" )
def testInit ( self) :
PersonObj = Person( "Tom" , 20 )
self. assertEqual( PersonObj. name, "Tom" , "Name属性值有误" )
self. assertEqual( PersonObj. age, PersonObj. GetAge( ) , "age属性值有误" )
if __name__ == '__main__' :
unittest. main( )
>> > Ran 1 test in 0. 014s
>> >
>> > OK
>> > 开始测试时自动调用
>> > 结束测试时自动调用
>> >
>> > 进程已结束, 退出代码0
测试代码运行时,需要修改为使用 Unittest 运行
三,针对函数进行单元测试
需要测试的函数代码
def MySum ( a, b) :
return a + b
def MySub ( a, b) :
return a - b
测试代码
import unittest
from UnitTestFunc import UnitTestFunc
class Test ( unittest. TestCase) :
def setUp ( self) - > None :
print ( "开始测试时自动调用" )
def tearDown ( self) - > None :
print ( "结束测试时自动调用" )
def testMySum1 ( self) :
self. assertEqual( UnitTestFunc. MySum( 1 , 2 ) , 3 , "加法有误" )
def testMySub ( self) :
self. assertEqual( UnitTestFunc. MySub( 2 , 1 ) , 1 , "减法有误" )
if __name__ == '__main__' :
unittest. main( )
>> > Ran 2 tests in 0. 004s
>> >
>> > OK
>> > 开始测试时自动调用
>> > 结束测试时自动调用
>> > 开始测试时自动调用
>> > 结束测试时自动调用
>> >
>> > 进程已结束, 退出代码0
四,针对函数进行单元测试
import doctest
def MySum ( a, b) :
"""
Get the sum from a and b
:param a: firstNum
:param b: secondNum
:return: sum
注意有空格
example
>>> print(MySum(1,2))
3
"""
return a + b + b
print ( MySum( 2 , 3 ) )
>> > 5
doctest. testmod( )