unittest 测试实例2

为了生成更加直观的测试报告,引入了HTMLTestRunner 模块 ,将以html 的格式生成测试结果

为此,引入了HTMLTestRunner.py,它是Python标准库unittest模块的一个扩展。它可以生成直观的HTML测试报告。 
首先,下载HTMLTestRuner.py文件。 
源地址:http://tungwaiyip.info/software/HTMLTestRunner.html 
这是针对Python2.7版本,那么对于Python3.x的使用,需要改动几处。同时谢谢http://www.bubuko.com/infodetail-529431.html的分享。 
具体改动如下: 
第94行,将import StringIO修改成import io 
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO() 
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime)) 
第642行,将if not rmap.has_key(cls):修改成if notcls in rmap: 
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e 
第775行,将ue = e.decode(‘latin-1‘)修改成ue = e 
第778行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:\Python34\Lib目录中,检验是否加载成功,在Python IDLE 中输入 
import HTMLTestRunner 
若无报错,那么加载成功。


import unittest
import HTMLTestRunner

class TestAdd(unittest.TestCase):
    def setUp(self):
        pass

    def test_add(self):
        self.assertEqual(2+3,5,"testError")

    def test_add2(self):
        self.assertEqual(0+8,7,"testError")

    def tearDown(self):
        pass

def Suite():
    suiteTest = unittest.TestSuite()
    suiteTest.addTest(TestAdd("test_add"))
    suiteTest.addTest(TestAdd("test_add2"))
    return suiteTest


if __name__ == '__main__':
    filePath = 'D:\\pyResult.html'
    fp = file(filePath,'wb')

    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title="Python Test Report",description="This is Python Report")
    runner.run(Suite())
    fp.close()




生成的测试结果截图如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值