1、1.unnitest概念:當有不少測試案例的時候,須要集中測試,能夠設計一個unnitest單元測試框架集中測試,每一個案例就是一個模塊;能夠生成各類形式測試日誌(HTML、TXT)html
2.完成功能:本程序分兩個模塊,test_4.py完成芯片的初始化;test_fasttest.py完成芯片的算法測試(AES、DES、RSA、MD五、CRC、SHA)。最後全部模塊在all_test.py裏運行。算法
3.本程序文件框架:框架
|-test_case/單元測試
|-test_4.py #模塊1測試
|-test_fasttest.py #模塊2ui
|-all_test.py #在這裏添加運行spa
|-result.html #生成的log,html形式 設計
|-log.txt #生成的log,txt形式日誌
4.效果code
2、代碼
因爲代碼太多。。。只顯示關鍵部分
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)