python单元测试中的断言方法

编程入门 行业动态 更新时间:2024-10-09 16:31:01

python单元测试中的<a href=https://www.elefans.com/category/jswz/34/1770475.html style=断言方法"/>

python单元测试中的断言方法

本文将为您描述Python 中 unittest 单元测试框架中概念、作用、运行、用例执行顺序、断言方法、装饰器,具体实现方法:

现在正在使用 unittest 框架,我们来记录下这个框架的知识点;

unittest 框架:我们在写接口用例的时候,会继承 unittest 当中的 TestCase 的类和方法,私有方法除外,来识别以 test_ 开头的测试用例,unittest 相当于是一个包,我们来使用包里面的工具;

什么是自动化测试:写一段程序去测试另一段程序是否正常的过程

1. 单元测试的概念

测试不是来测试Java写的模块、函数、类

而是测试代码输入和输出,比对是否正确

往往单元测试, 是有开发来写, 用于测试自己写的模块、函数、类是否正确

有的一些单元测试任务, 是由测试人员来写

单元测试, 是一个极其强大的测试断言工具

2. 单元测试的作用

对代码中的函数、类、模拟进行测试辅助进行接口测试,将预期结果与实际结果进行对

3. 运行 unittest 的时候, 我们就调用父类的 main() 方法来运行

if __name__ == '__main__':

unittest.main()

4. unittest 框架中,如何测试多条用例?用例执行顺序?如何记录判断接口的成功与失败的用例

如何测试多条用例?

定义一个继承unittest的测试类, 为每个测试用例定义一个以test.开头的实例方法

用例执行顺序?

以test _开头的实例方法名称的ASCII码数值,从小到大的顺序来执行

总结:

unittest 框架会把以 test_ 开头的实例方法识别为用例, 同时会自动执行

如果不是 test_ 开头的方法, 那么不会被当做用例当自动执行

以test_开头的实例方法名称的 ASCCI 码数值,从小到大的顺序执行

使用 try..except.... 来记录成功与失败的用例总数

测试用例失败后需要主动抛出异常,增加日志文件,记录测试用例的结果

执行的总用例数为: 所有以test_开头的实例方法总数

失败的用例总数为, 抛出异常的实例方法总数

5. unittest 框架中为我们提供了强大的断言方法,我们来记录下常用的几个

self.assertEqual():断言实际结果与预期结果是否相等;第一个参数为期望值,第二个参数为实际值,第三个参数 msg 为断言失败之后的报错信息self.assertIn():成员运算第一个表达式是否是第二个表达式的成员self.assertTrue():断言这个表达式是否为True,如果为True则成功,不为True则失败self.assertIsInstance():断言第一个是否是第二个参数的实例(判断是否是list类型)self.assertIsNone():断言字段obj数值不为空self.assertIs():判断两个对象是不是同一个对象self.assertRaises():抛出异常

import unittest

class TestClass01(unittest.TestCase):

def test_case01(self):

# 把鼠标放在实例方法名上来运行用例, 那么只会运行当前一条用例

# assertTrue 判断是否为真,isupper(一字欧喷)全部为为大写

self.assertTrue("PYTHON".isupper(), msg="测试是否为大写失败")

def test_case02(self):

A = "北辰"

B = ["休想", "默", "生如花开", "蝶影飞雪", "北辰"]

# assertIn 判断 A 是否在 B 中

self.assertIn(A, B)

def test_case03(self):

one_var = [100, 200]

# 判断这个函数是否为指定类型 列表

self.assertIsInstance(one_var, list)

if __name__ == '__main__':

unittest.main()

6. Python 接口自动化用例执行之前需要使用:setUp、tearDown;setUpClass、tearDownClass

setUp :每个用例执行之前调用tearDown :每个用例执行之后调用setUpClass :(译:赛特阿婆.克拉斯)所有用例执行之前调用 TestCase 中 setUpClass 类方法tearDownClass:(译:缇欧当.克拉斯)所有用例执行之后会调用 TestCase 中 tearDownClass 类方法

通常我们会使用 setUpClass 、tearDownClass 需要定义为类方法,如果不定义就没有所有用例之前之后调动的这种特性;

7. Python 中常用的装饰器

@classmethod:定义为类方法(译:可拉斯.满涩的)@staticmethod:定义为静态方法(译:斯达提克.满涩的)

*******请大家尊重原创,如要转载,请注明出处:转载自:/ 谢谢!!*******Python 中 unittest 单元测试框架中概念、作用、运行、用例执行顺序、断言方法、装饰器就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.

本文地址:.html

更多推荐

python单元测试中的断言方法

本文发布于:2024-03-23 20:49:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742670.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:断言   单元   方法   测试中   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!