Python —— unnitest 單元測試框架


一、1.unnitest概念:當有很多測試案例的時候,需要集中測試,可以設計一個unnitest單元測試框架集中測試,每個案例就是一個模塊;可以生成各種形式測試日志(HTML、TXT)

       2.完成功能:本程序分兩個模塊,test_4.py完成芯片的初始化;test_fasttest.py完成芯片的算法測試(AES、DES、RSA、MD5、CRC、SHA)。最后所有模塊在all_test.py里運行。

       3.本程序文件框架:

       |-test_case/

    |-test_4.py       #模塊1

    |-test_fasttest.py  #模塊2

    |-all_test.py  #在這里添加運行

  |-result.html  #生成的log,html形式                 

  |-log.txt  #生成的log,txt形式

 

  4.效果

 

二、代碼

由於代碼太多。。。只顯示關鍵部分

 

test_4.py

 1 import unittest, time, re
 2 import HTMLTestRunner
 3 #...more imoprt
 4 #...send等接口的封裝
 5 
 6 
 7 class Test4(unittest.TestCase):
 8     def test_4(self):
 9         u"""初始化"""
10         send(apduchange('F0100000100123456789abcdeffedcba9876543210'))
11         send(apduchange('F014000000'))
12         send(apduchange('F011000000'))
13         send(apduchange('F01302c80908A000000151000000'))
14         send(apduchange('F01302c2024428'))
15         send(apduchange('F013028601C9'))
16         send(apduchange('F015000000'))
17         send(apduchange('00A4040000'))
18         send(apduchange('00A4040012'))
19 
20         pass
21 
22 if __name__ == "__main__":
23     testunit = unittest.TestSuite()
24     testunit.addTest(Test4('test_4'))
25     runner = unittest.TextTestRunner()
26     #filename = 'C:\\result.html'
27     #fp = file(filename,'wb')
28     #runner = HTMLTestRunner.HTMLTestRunner(stream = fp, title = 'Report_title',description = 'Report_decription')
29     runner.run(testunit)
30     print 'finish test_4(initialization)'

 

 

test_fasttest.py:

 1 #..實現接口
 2 class Testfasttest(unittest.TestCase):
 3     def test_fasttest(self):
 4         #...測試案例(各種算法)
 5 if __name__ == "__main__":
 6     testunit = unittest.TestSuite()
 7     testunit.addTest(Testfasttest('test_fasttest'))
 8     runner = unittest.TextTestRunner()
 9     #filename = 'C:\\result.html'
10     #fp = file(filename,'wb')
11     #runner = HTMLTestRunner.HTMLTestRunner(stream = fp, title = 'Report_title',description = 'Report_decription')
12     runner.run(testunit)
13     print'finish test_fasttest'

 

 

 

all_test.py

#coding=utf-8
"Combine tests for gnosis.xml.objectify package (req 2.3+)"
import unittest, doctest
#import test_2, test_3,test_4 #這里需要導入測試文件
import test_4,test_fasttest
import HTMLTestRunner

suit = doctest.DocTestSuite()
suit.addTest(unittest.makeSuite(test_4.Test4))
suit.addTest(unittest.makeSuite(test_fasttest.Testfasttest))


filename = 'C:\\result.html'
fp = file(filename, 'wb')


runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'測試部_XXX',description='Rongcard_Test')
runner.run(suit)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM