python学习

Python学习打call第七十四天:unittest生成测试报

2019-04-29  本文已影响10人  暖A暖

1.把测试案例的结果写入文件

from test1 import MyTestCase
from unittest import TestSuite, TextTestRunner

suite = TestSuite()
# 在测试用例集中添加测试用例
suite.addTest(MyTestCase('test_print1'))
suite.addTest(MyTestCase('test_print2'))
suite.addTest(MyTestCase('test_print3'))

if __name__ == '__main__':
    # 创建测试runner,执行测试用例集
    with open('html_result1', 'w+') as f:
        runner = TextTestRunner(stream=f, verbosity=2)
        runner.run(suite)

2.使用html-testRunner模块将测试结果写入HTML页面

from test import MyTestCase
from unittest import TestSuite, TextTestRunner
import HtmlTestRunner

suite = TestSuite()
# 在测试用例集中添加测试用例
suite.addTest(MyTestCase('test_print1'))
suite.addTest(MyTestCase('test_print2'))
suite.addTest(MyTestCase('test_print3'))

if __name__ == '__main__':
    # 创建测试runner,执行测试用例集
    # runner = TextTestRunner()
    with open('html_result', 'w+') as f:
        runner = HtmlTestRunner.HTMLTestRunner(output='./', stream=f, report_title='测试报告', descriptions='测试报告详情')
        runner.run(suite)

我们来看一下在浏览器中HTML页面效果,这个测试报告都有说明的,比如说测试用例的Total总数是3、Pass通过的测试用例数量是2、Skip跳过的测试用例数量是1

3.unittest实现自动发现

我们可以使用unittest.defaultTestLoader类中的discover()方法实现自动根据测试目录start_dir匹配查找测试用例文件,并将查找到的测试用例组装到测试套件,然后通过run()方法执行discover

from unittest import TextTestRunner, defaultTestLoader

start_dir = './'
discover = defaultTestLoader.discover(start_dir=start_dir, pattern=r'test*.py')
if __name__ == '__main__':
    # 创建测试runner,执行测试用例集
    with open('html_result1', 'w+') as f:
        runner = TextTestRunner(stream=f, verbosity=2)
        runner.run(discover)

参考:https://www.9xkd.com/user/plan-view.html?id=1914210302

上一篇下一篇

猜你喜欢

热点阅读