解决无法生成测试报告
在PyCharm上执行脚本有时候会无法生成测试报告。如何解决?
1、首先新建一个Python项目
例如:My_Report_Fail_Demo。
创建plugins包,用于存放生成测试报告扩展文件(HTMLTestRunner.py)。
创建report文件夹,执行脚本指定测试报告生成在此文件夹里。
创建test_case.py为执行测试用例文件。
2、test_case.py(测试用例)
脚本代码:
代码语言:javascript复制#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
执行测试用例
"""
import unittest, time
import os
from plugins import HTMLTestRunner
class TestDemo(unittest.TestCase):
def test_01(self):
print("test_01")
def test_02(self):
print("test_02")
def test_03(self):
print("test_03")
if __name__ == '__main__':
# 获取路径
cur_path = os.path.dirname(os.path.realpath(__file__))
# 测试报告路径
report_path = os.path.join(cur_path, 'report')
# 获取当前时间
now = time.strftime('%Y-%m-%d %H_%M_%S')
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(TestDemo('test_01'))
suite.addTest(TestDemo('test_02'))
suite.addTest(TestDemo('test_03'))
# 定义测试报告
runner = HTMLTestRunner.HTMLTestRunner(title='自动化测试报告',
description='用例执行情况:',
stream=open(report_path '\' now ' HTMLReport.html', 'wb'),
verbosity=2
)
# 运行测试用例
runner.run(suite)
3、执行脚本
选中test_case.py文件鼠标右键执行(例如Run 'Unittests in test_case.py')。
在这种情况下,执行的只是用例或者套件,而不是整个文件,写在main里的代码是不会被执行的,所以无法生成测试报告。
运行结果。
在项目的report目录里没有自动生成测试报告。
4、解决无法生成测试报告
点击编辑配置。
在Python下新建执行脚本文件并起名(例如test_case.py),之后选择test_case.py脚本路径,之后保存。
保存后,点击执行(test_case.py)。
或者:选中test_case.py文件鼠标右键执行(例如Run 'test_case.py')。
这种情况下编辑器是执行这个文件,文件中所有的代码都会被执行到。
运行结果。
在项目的report目录里自动生成测试报告。
双击打开测试报告,效果如下: