11、简单的测试报告

一、函数

class MathMethod:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def add(self):
        return self.a + self.b

    def sub(self):
        return self.a - self.b

    def multi(self):
        return self.a * self.b

二、测试用例

import unittest
from class_02_02 import MathMethod  # 测试目标类

# 写一个测试类
class TestMathMethod(unittest.TestCase):  # 继承了Unittest 里面的TestCase 专门来写用例
    """
    1、编写测试用例
    2、一个用例就是一个函数 不能传参 只有self关键字
    3、所有的用例(所有的函数 都是test_开头)
    """
    def setUp(self):#重写  因为父类里面有
        print("我要开始执行测试用例了")
        
    def tearDown(self):
        print("我已经执行完毕测试用例了")

    def test_add_positive(self):  # 两个整数相加
        res = MathMethod(1, 1).add()
        print("1+1的结果值是:", res)
        #期望值,实际值,msg
        self.assertEqual(2,res)

    def test_add_zero(self):  # 两个0相加
        res = MathMethod(0, 0).add()
        print("0+0的结果值是:", res)
        self.assertEqual(0, res)
    def test_add_negative(self):  # 两个负数相加
        res = MathMethod(-1, -2).add()
        print("-1+(-2)的结果值是:", res)
        #断言里面 msg用例执行失败才会显示出来
        self.assertEqual(-0, res,"两个数相加出错了")

class TestMulti(unittest.TestCase):  # 继承了Unittest 里面的TestCase 专门来写用例
    """
    1、编写测试用例
    2、一个用例就是一个函数 不能传参 只有self关键字
    3、所有的用例(所有的函数 都是test_开头)
    """

    def test_multi_positive(self):  # 两个整数相乘
        res = MathMethod(1, 1).multi()
        print("1+1的结果值是:", res)
        self.assertEqual(1, res)

    def test_multi_zero(self):  # 两个0相乘
        res = MathMethod(0, 0).multi()
        print("0+0的结果值是:", res)
        self.assertEqual(0, res)

    def test_multi_negative(self):  # 两个负数相乘
        res = MathMethod(-1, -2).multi()
        print("-1+(-2)的结果值是:", res)
        self.assertEqual(2, res)

if __name__ == '__main__':
    unittest.main()

三、测试报告

# ..成功  F失败 1代码错误
import unittest
import HTMLTestRunner
import time


suite = unittest.TestSuite()  # 存储用例
# 方法二:TestLoader
loader = unittest.TestLoader()  # 创建一个加载器
# 方法三:TestLoader
import class_02_01
# 从loadTestsFromModule模块里面加载用例
suite.addTest(loader.loadTestsFromModule(class_02_01))

# 执行  上下文管理器---原始的测试报告
# stream  指定保存的文件
# with open("text.txt", "w+", encoding='utf-8') as file:
#     runner = unittest.TextTestRunner(stream=file, verbosity=2)
#     runner.run(suite)
# # 判断文件是否关闭 Ture表示关闭成功  不关闭会造成资源浪费,下次再打开该文件就会造成资源暂用
# print(file.closed)

# 新鲜 html
if __name__ == "__main__":
    time1 = time.strftime("%Y-%m-%d %H-%M-%S")
    name1 = time1 + "report.html"

with open("report/测试报告1.html", 'wb') as file:
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=file,
        title="单元测试报告",
        description="测试用例执行统计1",
        verbosity=2
    )
    runner.run(suite)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值