自律精进 2025-01-04 19:30 采纳率: 0%
浏览 14

为什么我的pycharm就是不能生成测试报告?

为什么我的pycharm就是不能生成测试报告?我只是想用BeautifulReport、htmltestrunner生成个测试报告而已。

import unittest
from BeautifulReport import BeautifulReport

class TestDemo(unittest.TestCase):
    def test_case_1(self):
        self.assertEqual(1 + 1, 2)

    def test_case_2(self):
        self.assertTrue(10 > 5)

if __name__ == '__main__':
    suite = unittest.defaultTestLoader.discover('.', pattern='test_demo*.py')
    result = BeautifulReport(suite)
    result.report(filename='测试报告', description='这是一个测试报告', report_dir='./reports', theme='theme_default')

###控制台输出
C:\python3.10\python.exe "C:/Program Files/JetBrains/PyCharm Community Edition 2023.1.3/plugins/python-ce/helpers/pycharm/_jb_unittest_runner.py" --target test_demo.TestDemo.test_case_2 
Testing started at 19:20 ...
Launching unittests with arguments python -m unittest test_demo.TestDemo.test_case_2 in C:\Users\15858\PycharmProjects\701\ui



Ran 1 test in 0.001s

OK

Process finished with exit code 0


img

import  unittest # 导入unittest框架
from time import *
import HTMLTestRunner
# from ui.HTMLTestRunner3_New  import HTMLTestRunner

class   Cms_Test(unittest.TestCase): # 创建一个类,一个testcase就是一个用例
    # 类方法
    @classmethod
    def  setUpClass(cls) -> None:
          print("类开始")
    @classmethod
    def  tearDownClass(cls) -> None:
        print("类的结束")
    def setUp(self) -> None:
        print("方法的开始")
    def tearDown(self):
        print("方法结束")
    def  test1(self):
        print("1111")
    def   test3(self):
        print("3333")
    def   test2(self):
        print("2222")
    def   testa(self):
        print("aaaa")
    def   testA(self):
       print("AAAA")
    def  dcs(self): #  没有以test开头的用例
        print("dcs独有")
if __name__ == '__main__':

     path = r"C:\Users\15858\PycharmProjects\701\ui"  # 运行文件的相对路径
     d = unittest.TestLoader().discover(start_dir=path, pattern="test_028*.py")  # 测试路径:路径和匹配的文件   一般接*结尾
     # unittest.TextTestRunner.run(d)#运行路径下的用例
     bglj = r"C:\Users\15858\PycharmProjects\701\ui"  #报告路径
     new = strftime("%y-%m-%d-%H-%M-%S")  #时间格式
     file = bglj + '/' + str(new) + 'ui_.html'  #绝对路径
     f = open(file, "wb")  #打开
     # # # unittest.TextTestRunner().run(d)
     r = HTMLTestRunner.HTMLTestRunner(    #报告模板
         stream=f, title="ui自动化测试报告", description="用例执行情况",
         tester="WZY"
     )
     r.run(d) #运行
     f.close()  #关闭文件

#控制台输出
C:\python3.10\python.exe "C:/Program Files/JetBrains/PyCharm Community Edition 2023.1.3/plugins/python-ce/helpers/pycharm/_jb_unittest_runner.py" --path C:\Users\15858\PycharmProjects\701\ui\test_028unittest_baogao.py 
Testing started at 19:27 ...
Launching unittests with arguments python -m unittest C:\Users\15858\PycharmProjects\701\ui\test_028unittest_baogao.py in C:\Users\15858\PycharmProjects\701\ui

类开始
方法的开始
1111
方法结束
方法的开始
2222
方法结束
方法的开始
3333
方法结束
方法的开始
AAAA
方法结束
方法的开始
aaaa
方法结束
类的结束


Ran 5 tests in 0.002s

OK

Process finished with exit code 0

img

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你的描述和代码来看,你在使用PyCharm运行单元测试并生成测试报告时遇到了问题。首先,我要确认你的环境配置是否正确。确保你已经安装了unittestBeautifulReportHTMLTestRunner这些库。

    对于你遇到的两个问题,这里有一些可能的解决方案:

    1. 关于BeautifulReport无法生成报告的问题

      • 确保你的代码没有语法错误或运行时错误。你的代码应该能够成功运行到result.report()这一行。
      • 检查报告文件的路径是否正确。你的代码中的report_dir='./reports'表示报告文件会生成在项目根目录下的reports文件夹中。确保这个文件夹存在,并且你的程序有写入权限。
      • 检查你的PyCharm是否正确识别了测试文件。有时,PyCharm可能不会立即识别新添加的文件或更改,需要手动刷新或重启PyCharm。
    2. 关于HTMLTestRunner无法生成报告的问题

      • 你的代码看上去没有问题,但在运行HTMLTestRunner时,需要确保你使用的HTMLTestRunner版本与你的Python版本兼容。尝试使用不同版本的HTMLTestRunner看是否能解决问题。
      • 同样检查报告文件的路径和写入权限。你的代码将报告文件保存在C:\Users\15858\PycharmProjects\701\ui路径下,确保这个路径正确并且程序有写入权限。
      • 检查是否有任何错误消息或异常被抛出。在Python控制台或PyCharm的Run窗口中查看输出,看是否有任何错误提示。

    另外,根据你提供的代码和图片,看起来你的项目文件和文件夹命名有些混乱,可能存在一些拼写错误或格式问题。确保你的文件名和路径都是正确的,避免因为小错误导致的问题。

    如果以上建议都不能解决你的问题,请提供更详细的错误信息或异常堆栈,这样我可以更准确地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月4日