unittest生成报告

作者: summer_1a77 | 来源:发表于2019-03-31 17:27 被阅读0次

    那如何生成一个测试报告呢,需要加入另外一个模块了,HTMLTestRunner,这个模块需要自己安装,使用执行测试用例就会生成一个html的测试报告,里面会有每个测试用例的执行结果

    if __name__ =='__main__':

    filepath='../report/htmmlreport,html'#生成一个文件

        fp=file(filepath,'wb')#打开一个保存结果的html文件

    suite=unittest.TestSuite()#创建容器

        suite.addTest(TestMethod('测试用例test_01'))#容器中添加用例

        unittest.TextTestRunner.run(suite)#用例执行

        runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='this is tile') #生成执行用例的对象

    runner.run(suite) #执行测试套件

    如果我们有很多个模块,每个模块下面都写了很多python文件,每个python文件里面都有测试用例,那怎么把这个目录下的用例都执行了呢,就要先找到这个目录下的所有python文件,然后找到里面的测试用例,逐个执行,代码如下:

    import unittest,HTMLTestRunner

            suite = unittest.TestSuite()#创建测试套件all_cases = unittest.defaultTestLoader.discover('.','test_*.py')

            #找到某个目录下所有的以test开头的Python文件里面的测试用例forcasein all_cases:

                suite.addTests(case)#把所有的测试用例添加进来fp = open('res.html','wb')

            runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='all_tests',description='所有测试情况')

            runner.run(suite) #运行测试

    我们在后续进行持续集成的时候,要让代码自动运行,就会用到Jenkins了,但是上面产生的测试报告都是html格式的,Jenkins不认识,就在Jenkins里面显示不出来。那咱们就要产生一些Jenkins认识的测试报告,Jenkins认识xml格式的报告,那咱们就产生xml格式的呗,就需要用一个新的模块,xmlrunner,安装直接 pip install xmlrunner即可,代码如下:

    import unittestimport xmlrunner#导入这个模块class My(unittest.TestCase):

        def test1(self,a,b,c):

            self.assertEqual(a+b,c)

    if__name__=='__main__':

        test_suite = unittest.TestSuite()

        test_suite.addTest(unittest.makeSuite(My))

        runner = xmlrunner.XMLTestRunner(output='report')#指定报告放的目录runner.run(test_suite)

    然后咱们运行,可以看到在report目录下已经产生了xml格式的报告了,而且还自动把日期加上了

    自编+转载https://www.cnblogs.com/feng0815/p/8045850.html

    相关文章

      网友评论

        本文标题:unittest生成报告

        本文链接:https://www.haomeiwen.com/subject/ihsubqtx.html