unittest 1 基础用法

用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库unittest。

基础概念

unittest是python自带的单元测试框架。unittest库的4个重要概念test fixture,test case,test suite, test runner。

  • test fixture
    测试执行之前的准备工作和测试执行后的清理工作。

  • test case:
    一个测试用例是在unittest中执行测试的最小单元。unittest提供了一个名为TestCase的基础类,可以用来创建测试用例。

  • test suite:
    "测试套件",也有人称为"测试套",是测试用例或测试套件的集合,一般用来把需要一起执行的用例组合到一起。

  • test runner:
    用来测试执行并且输出测试结果。可以是图形界面或者命令行界面。

总之test fixture的功能可以理解成是初始化和清理测试数据及环境。test case是测试用例。test suite是用例集合。test runner的作用是运行用例并返回结果。

使用举例

import unittest

def add(a, b):
    return a + b


# 一个类是一个测试用例,测试指类中的测试方法,测试用力中可以有多个测试。
class SimpleTest(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(3, 7), 10)

    def test_add2(self):
        self.assertEqual(add(5, 5), 10)

    def test_add3(self):
        self.assertEqual(add("s", "b"), "sb")

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

记住:测试用例中方法名以test开头,不是以test开头是不会被test runner执行的.

输出结果如下

Ran 3 tests in 0.002s

OK

Process finished with exit code 0
  • 用setUp与setUpClass区别

    setup():每个测试case运行前运行

    teardown():每个测试case运行完后执行

    setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次

    tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次

posted @   文强笔记  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示