13
2018
07

python自动化测试中的单元测试、批量执行与测试报告输出

我们都知道,在robot framework的IDE中执行测试用例,会自动生成测试报告,而纯Python写的函数,单元测试方法是不会自动生成测试报告的,本文就来讲下单元测试和测试报告的生成。


单元测试类库:unittest,在安装python就自带,不需要额外安装,只需要引用即可,下面贴上核心代码,包括两个单元测试:

#unittest1.py

#coding:utf-8
import unittest
class case1(unittest.TestCase):
    def test_case1(self):
        """
        这里是第1个测试用例
        """
        result=125*30
        print("test_case1 begin")
        #self.assertEqual(result,3750,'test_case1 结果失败!')
        assert result==3750,'test_case1 fail!'
        print("test_case1 结果正确")
        pass


#unittest2.py

#coding:utf-8
import unittest
class case2(unittest.TestCase):
    def test_case2(self):
        """
        这里是第2个测试用例
        """
        print("test_case2 begin")
        s="this is test case2"
        assert 'case2' in s,'test_case2 fail!'
        #这里我们写一个失败的测试用例
        assert 'case22' in s,'test_case2 fail!'
        print("test_case2 结果正确".decode(encoding='utf-8'))
        pass
#下列调用可以单独执行本单元测试
#if __name__ =="__main__":
#    unittest.main()


#run_unittests.py(需要下载第三方类库:HTMLTestRunnerCN.py,在网上都能搜到,文章最后的demo下载中会包含)

#coding:utf-8
import unittest
from unittest1 import case1
from unittest2 import case2
import HTMLTestRunnerCN
#创建测试套件(集合)
suite = unittest.TestSuite()
#添加多个单元测试方法
suite.addTest(case1("test_case1"))
suite.addTest(case2("test_case2"))
#……
#运行测试套件,批量执行单元测试用例,不输出html报告文件
#unittest.TextTestRunner().run(suite)
#第三方包HTMLTestRunnerCN执行测试用例,能输出到html测试报告
#路径:当前目录report.html
st=open('./report.html','wb')
HTMLTestRunnerCN.HTMLTestRunner(stream=st,title='我的测试报告',tester="张三",description="多个单元测试执行").run(suite)



执行run_unittests.py之后,在代码目录生成一个report.html文档,内容如下:


代码中所有的print语句输出的内容都会被记录在报告中,非常方便查看代码执行情况。



demo下载:PythonUnittestReportDemo.zip




版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。