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)