python unitest自动化框架

以下举一个最简单的unitest实例,包含备注,自己拉取代码运行一次就知道原理了

python 复制代码
import unittest
import os

class TestSample(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        print('整个测试类只执行一次')

    def setUp(self) -> None:
        print("每个测试开始前执行一次")

    def test_equal(self):
        self.assertEqual(1,1)

    def test_no_equal(self):
        self.assertNotEqual(1,2)

    def tearDown(self) -> None:
        print('每个测试结束后执行一次')

    @classmethod
    def tearDownClass(cls) -> None:
        print('整个个测试执行一次')



if __name__ == '__main__':
    # unittest.main()
    #添加用例集
    suite = unittest.defaultTestLoader.discover(os.path.join(os.path.dirname(__file__)), pattern='*.py',top_level_dir=os.path.dirname(__file__))
    #执行用例,默认函数名开头为test的用例
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run()

上面有前置函数,后置函数,通称为测试夹具;

测试结果报告默认在控制台输出,如果想要有html的测试报告,可以用HTMLTestRunner;以下附上对应的git代码示例

Mr_wilson_liu / Python unitest实例 · GitCode

效果展示:

相关推荐
曲幽4 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码4 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱14 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵15 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio19 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636720 小时前
使用 Python 从零创建 Word 文档
python
Csvn1 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽1 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817531 天前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱2 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2