Unittest简单项目

1.业务模块

"""文件名:calc.py"""
class Calc1:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def multiply(self):
        x = self.a * self.b
        return x

    def division(self):
        y = round(self.a / self.b, 2)
        return y

if __name__ == '__main__':
    print(Calc1(3,7).multiply())
    print(Calc1(3,7).division())

2.单元测试

"""文件名:testdiv.py"""
import unittest
from calc import *
class TestDiv(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("所有用例的准备工作")

    def setUp(self):
        print('~' * 10, '测试开始', '~' * 10)

    def tearDown(self):
        print('-' * 10, '测试结束', '-' * 10)
        
    @classmethod
    def tearDownClass(cls):
        print("所有用例的收尾工作")

    def test_div1(self):
        print("1.2.乘法验证")
        self.assertEqual(30, Calc1(7, 5).multiply(), msg="testdiv乘法验证错误")

    def test_div2(self):
        print("2.2.除法验证")
        self.assertEqual(1.4, Calc1(7, 5).division(), msg="##")

if __name__ == '__main__':
    unittest.main()
"""文件名:testmul.py"""
import unittest
from calc import *
class TestMul(unittest.TestCase):
    def setUp(self):
        print('~' * 10, '测试开始', '~' * 10)

    def tearDown(self):
        print('-' * 10, '测试结束', '-' * 10)

    def test_mul1(self):
        print("1.1.乘法验证")
        self.assertEqual(100, Calc1(25, 4).multiply(), msg="##")

    def test_mul2(self):
        print("2.1.除法验证")
        self.assertEqual(6.0, Calc1(25, 4).division(), msg="testmul除法验证错误")
if __name__ == '__main__':
    unittest.main()

3.测试执行器

"""文件名:runtest1.py"""
"""【目的】合并多个类--->测试套"""

import unittest
from testmul import TestMul
from testdiv import TestDiv
# HTMLTestRunner 需要外部导入
import HTMLTestRunner

if __name__ == '__main__':
    """【1.不同的类写进各自的测试套】"""
    testsuite_1 = unittest.TestLoader().loadTestsFromTestCase(TestMul)
    testsuite_2 = unittest.TestLoader().loadTestsFromTestCase(TestDiv)
    """【2.多个测试套合并成一个大的测试套】"""
    testsuite_all = unittest.TestSuite([testsuite_1, testsuite_2])
    """【3.测试报告的名称】 写入二进制"""
    html1 = open('testreport.html', 'wb')
    htmlrunner = HTMLTestRunner.HTMLTestRunner(stream=html1, title='乘除法测试报告')
    """【4.执行器执行测试套】"""
    htmlrunner.run(testsuite_all)
    html1.close()
"""文件名:runtest2.py"""
"""【目的】合并指定目录下的多个模块文件--->测试套"""
import unittest
if __name__ == '__main__':
    """【1】声明目录的位置"""
    test_dir = "./"
    """【2】查找目录下以'test'开头的模块文件"""
    test_file = "test*.py"
    """【3】合并多个模块文件为测试套"""
    test_suite = unittest.defaultTestLoader.discover(test_dir, pattern=test_file)
    """【4】执行器执行测试套"""
    test_run1 = unittest.TextTestRunner()
    test_run1.run(test_suite)

运行执行器

1.菜单栏:运行--->运行
2.终端命令行:
python 文件.py
python3 文件.py

测试报告

在这里插入图片描述

模板

import unittest
class TestSample(unittest.TestCase):
    def setUp(self) :#准备工作,每条用例都执行
        print("~~~~~~~开始测试~~~~~~~")

    def tearDown(self):#收尾工作,每条用例都执行
        print("------测试结束------")

    def test_1(self):# 测试用例以test_ 打头
        self.assert("预期值","类(参数1,参数2).方法()",msg="失败时显示")

    def test_2(self):# 测试用例以test_ 打头
        self.assert("预期值","类(参数1,参数2).方法()",msg="失败时显示")

if __name__ == '__main__':# 测试执行器
    unittest.main()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值