厉害的大炮 2024-04-02 16:26 采纳率: 0%
浏览 10

求解,HTMLRunner无法生成测试报告,如何解决?

能看一下吗,为什么使用HTMLTestRunner无法生成有内容的测试报告
关于 HTMLTestRunner的安装,我是直接用的pip install HTMLTestRunner


# 导包
import unittest
import MyMathSum
from HtmlTestRunner import HTMLTestRunner

# 定义class类
class unitMymath(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        print('我是setUpClass 方法')

    @classmethod
    def tearDownClass(cls):
        print('我是tearDownClass 方法')

    # 方法不能改,self参数不能少
    def setUp(self):
        print('我是setUp方法')
        self.mm = MyMathSum.MyMath()

    # 必须是test开头的方法,这一个就是测试用例
    def test_add_1(self):
        print('我是第一条测试用例')
        # mm = MyMathSum.MyMath()
        actualValue = self.mm.add(15, 10)
        expectValue = 25
        self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')

    def test_add_2(self):
        print('我是第二条测试用例')
        # mm = MyMathSum.MyMath()
        actualValue = self.mm.add(2, 5)
        expectValue = 7
        self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')

    def test_cheng_1(self):
        print('我是第三条用例')
        actualValue = self.mm.cheng(2, 5)
        expectValue = 10
        self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')

    # 模块的结尾,tearDown()
    def tearDown(self):
        print('我是teardown方法')


if __name__ == '__main__':

    # 生成测试套件
    suite = unittest.TestSuite()

    # 添加测试用例到suite测试套件内
    suite = unittest.defaultTestLoader.discover('.', pattern='unit*.py')

    # 打开一个txt文本文件

    # 定义一个runner的对象,添加suite套件
    with open('report.html', 'wb') as f:
        runner = HTMLTestRunner(stream=f, verbosity=2, descriptions='软件测试')
        runner.run(suite)


  • 写回答

4条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-02 16:26
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    你可以尝试以下解决方案来解决无法生成测试报告的问题:

    1. 检查是否正确安装了HTMLTestRunner库:确认你使用了正确的安装命令pip install HTMLTestRunner来安装HTMLTestRunner库。如果已经安装过,可以尝试将其重新安装。

    2. 确认HTMLTestRunner库的版本:确保使用的HTMLTestRunner库版本与Python版本兼容。你可以尝试使用pip list命令查看HTMLTestRunner库的版本。

    3. 检查测试用例和测试套件的设置:确保你的测试用例和测试套件设置正确。请检查以下几点:

      • 确保测试用例类继承自unittest.TestCase类,并且测试用例方法以test_开头。
      • 确认测试套件中添加了正确的测试用例。你可以使用discover方法来自动查找并添加测试用例。
    4. 检查生成测试报告的代码:确认在生成测试报告的部分代码中没有出现语法错误或其他问题。你可以参考以下修改后的代码:

    import unittest
    import MyMathSum
    from HtmlTestRunner import HTMLTestRunner
    
    class unitMymath(unittest.TestCase):
    
        @classmethod
        def setUpClass(cls):
            print('我是setUpClass方法')
    
        @classmethod
        def tearDownClass(cls):
            print('我是tearDownClass方法')
    
        def setUp(self):
            print('我是setUp方法')
            self.mm = MyMathSum.MyMath()
    
        def test_add_1(self):
            print('我是第一条测试用例')
            actualValue = self.mm.add(15, 10)
            expectValue = 25
            self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')
    
        def test_add_2(self):
            print('我是第二条测试用例')
            actualValue = self.mm.add(2, 5)
            expectValue = 7
            self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')
    
        def test_cheng_1(self):
            print('我是第三条用例')
            actualValue = self.mm.cheng(2, 5)
            expectValue = 10
            self.assertEqual(actualValue, expectValue, '预期结果和实际结果不相等')
    
        def tearDown(self):
            print('我是tearDown方法')
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        suite = unittest.defaultTestLoader.discover('.', pattern='unit*.py')
    
        with open('report.html', 'wb') as f:
            runner = HTMLTestRunner(stream=f, verbosity=2, title='测试报告', description='软件测试')
            runner.run(suite)
    

    请按照上述解决方案检查和修改你的代码,然后再次尝试生成测试报告。如果问题仍然存在,请提供报错信息或其他详细信息以便更好地定位问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月2日

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容