千家信息网

unittest怎么用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关unittest怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.单元测试单元测试是指对软件中的最小可测试单元进行检查和验证,Py
千家信息网最后更新 2026年11月01日unittest怎么用

这篇文章将为大家详细讲解有关unittest怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.单元测试

  • 单元测试是指对软件中的最小可测试单元进行检查和验证,Python中有一个自带的单元测试框架unittest模块,不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果;

2.unittest库中的基本组件

  • unittest.TestCase():是所有测试用例类继承的基本类,一个类只要继承了unittest中的TestCase类就是一个测试用例类,就可以在类中写测试用例;

from unittest import TestCase, mainclass MyTest(TestCase):  # 继承unittest.TestCase    def setUp(self):        # 测试用例执行前的初始化工作        print('开始执行')    def tearDown(self):        # 测试用例执行之后的善后工作        print('执行完毕')    def testWay(self):        print('这是测试用例')if __name__ == '__main__':    main()  # 运行所有的测试用例
  • unittest.TestSuite():用来创建测试套件,其中有一个addTest()方法可以将一个或多个测试用例添加到测试套件中,先添加的哪个方法就先运行哪个方法;

  • unittest.TextTextRunner():通过该类中的run()方法来运行suite所组装的测试用例;

  • unittest.defaultTestLoader():通过该类下面的discover()方法可自动根据测试目录start_dir匹 配查找测试用例模块(以test开头,以.py结尾的文件,例如:test*.py), 并将查找到的测试用例 组装到测试套件,因此可以直接通过run()方法执行discover;

  • unittest.skip():装饰器,可过滤不需要执行的用例,使这个用例不执行;

  • unittest.main():可以方便的将一个单元测试模块变为可直接运行的测试脚本,main()方法使 用TestLoader类来搜索所有包含在该模块中以"test"命名开头的测试方法,并自动执行他们 ;

3.TestCase类中的方法

  • setUp()方法:用于测试用例执行前的初始化。如测试用例中需要访问数据库,可以在setUp中建立数据库连接并进行初始化。如果测试用例需要登录web,可以先获取cookie,获取文件句柄;

  • tearDown()方法:用于测试用例执行之后的善后工作,如关闭数据库连接,关闭文件;

  • assert*():断言方法,相当于if-else里面的条件判断,在执行测试用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果和预期结果是否相等决定的;

4.unittest中常用的断言方法

  • assertEqual(self, first, second, msg=None):判断两个参数是否相等,如果相等则测试用例通过;

  • assertNotEqual(self, first, second, msg=None):判断两个参数是否相等,如果不相等则测试用例通过;

  • assertTrue(self, expr, msg=None):判断是否为真,为真则测试用例通过;

  • assertFalse(self, expr, msg=None):判断是否为假,为假则测试用例通过;

  • assertIs(a, b, msg=None):断言a是否是b,如果是则测试用例通过。

  • 更多的断言方法可以查看官网: https://docs.python.org/3/library/unittest.html#assert-methods

5.编写测试用例

  • 首先从unittest模块中导入TestCase、main等需要用到的类;

  • 然后自定义一个类继承TestCase类;

  • 可以重写TestCase类中的setUp()初始化方法,和tearDown()清理方法,这两个方法是成对出 现的;

  • 然后编写以字母开头的测试用例,执行顺序默认是根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z;

  • 最后调用unittest.main()方法将一个单元测试模块变成可以直接运行的测试脚本,然后自动执行测试用例;

from unittest import TestCase, mainclass MyTestCase(TestCase):    # setUp、tearDown每次执行一个test开头的方法时,都会调用一次    def setUp(self):        print('setup')    def tearDown(self):        print('tearDown')    def test_1(self):        print('第一个测试用例')    def test_2(self):        print('第二个测试用例')if __name__ == '__main__':    main()

关于"unittest怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

测试 方法 单元 模块 运行 开头 两个 套件 数据 数据库 文件 更多 篇文章 结果 顺序 工作 参数 字母 框架 脚本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 江苏根荣互联网科技 互联网金融监管科技数据 今日互联网科技 互联网科技垄断 朗新科技与工业互联网 互联网金融 科技金融 善班互联网科技有限公司 互联网科技ppt模板 上海致骋互联网科技 联恩商钥互联网科技有限公司 中国的互联网科技企业的崛起 互联网科技实习生岗位职责 互联网企业和科技型企业 宁夏众和广鑫互联网科技有限公司 厦门千工互联网科技有限公司 佛山市翊博互联网络科技有限公司 互联网科技公司营业执照怎么办理 兰石爱特工业互联网科技分公司 互联网高科技绘画 金诺互联网科技 金融科技创新监管互联网金融 西安互联网科技 卓越科技(互联网 ) 亿策互联网科技 居家互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 互联网科技接地气 第三届互联网大会安防黑科技 山东蛋芒互联网科技有限公司
0