python单元测试(代码片段)

fg123 fg123     2022-12-01     411

关键词:

在Python的圈子里常流行一句话:"动态一时爽,重构火葬场",我们知道Python写起来很方便,但在重构或者对某部分代码修改时, 可能会造成"牵一发而动全身",所以对于Python项目,特别是大型项目来说单元测试来保证代码质量是非常有必要的。

单元测试(Unit Testing)

1. 针对程序模块进行正确性检验

2. 一个函数、一个类进行验证

3. 自底向上保证程序的正确性

 

单元测试的目的:

1. 保证代码逻辑的正确性

2. 使得代码易测,高类聚、低耦合

3. 回归测试放在改一处整个服务不可用的情况

 

单元测试一般需要覆盖正常值、异常值和边界值,示例如下:

bin.py

 1 def binary_search(b_list, target):
 2     """
 3     二分查找
 4     :param b_list:
 5     :param target:
 6     :return:
 7     """
 8     b_list = sorted(b_list)
 9     left, right = 0, len(b_list) - 1
10     while left <= right:
11         mid = (left + right) // 2
12         if b_list[mid] > target:
13             right = mid - 1
14         elif b_list[mid] < target:
15             left = mid + 1
16         else:
17             return mid
18     return None
19 
20 
21 def test():
22     # 正常值
23     assert binary_search([3, 5, 7, 8, 9], 5) == 1
24 
25     # 边界值
26     assert binary_search([3, 5, 7, 8, 9], 3) == 0
27     assert binary_search([3, 5, 7, 8, 9], 9) == 4
28 
29     # 异常值
30     assert binary_search([3, 5, 7, 8, 9], 0) is None
31     assert binary_search([], 3) is None

运行 pytest bin.py,如果测试用例全部通过则:

技术图片

python龙卷风单元测试(代码片段)

查看详情

python一个完整的单元测试用例(代码片段)

查看详情

如何使用python进行单元测试建议收藏(代码片段)

 在本文中,我将通过讨论以下主题来研究如何使用Python创建单元测试。单元测试基础可用的Python测试框架测试设计原则代码覆盖率单元测试基础我使用FizzBuzz编码方式创建了单元测试示例。编码类型是程序员的练习。在这个... 查看详情

如何使用python进行单元测试建议收藏(代码片段)

 在本文中,我将通过讨论以下主题来研究如何使用Python创建单元测试。单元测试基础可用的Python测试框架测试设计原则代码覆盖率单元测试基础我使用FizzBuzz编码方式创建了单元测试示例。编码类型是程序员的练习。在这个... 查看详情

python单元测试的简单面试问题(pyunit)(代码片段)

查看详情

python单元测试(代码片段)

这两天在学习单python的单元测试功能,太懒了不想每次都启动服务再测试功能,而且还得一遍一遍的写不同的情况下的测试输入,无聊又麻烦。整整花了一天时间,写博客记录一下,不然两三天后估计又忘的... 查看详情

python一些使用pytest功能的单元测试示例(代码片段)

查看详情

python单元测试:unittest使用简介(代码片段)

一、概述  本文介绍python的单元测试框架unittest,这是Python自带的标准模块unittest。unittest是基于java中的流行单元测试框架junit设计的,其功能强大且灵活,对于熟悉junit的人来说掌握unittest很简单。   unittest涉及... 查看详情

python模拟django在单元测试中的缓存(代码片段)

查看详情

python单元测试编写(代码片段)

  做一个简单的小实例:  目录结构如下:demo1.pyclassMyClass():def__init__(self,x,y):self.x=xself.y=ydefadd(self):returnself.x+self.ydefsub(self):returnself.x-self.y importunittestfromunittset_demo.demo1importMyCla 查看详情

python基础篇:单元测试unittest(代码片段)

一:简介测试类必须继承unittest.TestCase,测试方法名必须以test开头才算测试方法)测试方法如果是以test开头后面跟数字,测试执行顺序就按照数字顺序来执行,否则按照方法的前后声明来执行一个测试方法叫一个Te... 查看详情

python基础篇:单元测试unittest(代码片段)

一:简介测试类必须继承unittest.TestCase,测试方法名必须以test开头才算测试方法)测试方法如果是以test开头后面跟数字,测试执行顺序就按照数字顺序来执行,否则按照方法的前后声明来执行一个测试方法叫一个Te... 查看详情

软件测试:python接口自动化之unittest单元测试(代码片段)

在上一篇Python接口自动化测试系列文章:Python接口自动化之requests请求封装,主要通过源码分析,总结出一套简洁的请求类封装。以下主要介绍unittest特性、运行流程及实际案例。一、单元测试三连问1、什么是单元测... 查看详情

单元测试--unittest(代码片段)

...个函数或者一个类来进行正确性检验的测试工作。unittest:python内置的单元测试框架,具备编写用例、测试用例、执行用例、输出报告等自动化框架的条件。unittest的四个核心概念:   testcase:一个完整的测试单元,执... 查看详情

使用assert在python中引发单元测试(代码片段)

目前我正在为我的班级功能编写单元测试。deftest_getitem(self):test1=List(3)foriinrange(3):test1.append(i)self.assertEqual(test1[2],2)test1=List(3)foriinrange(3):test1.append(i)self.assertRaises(IndexError,test1[4])我现在遇到的问 查看详情

单元测试--unittest(代码片段)

单元测试框架:unittest pytestuniittest:  unittest是python内置的单元测试框架,具有编写用例,组织用例,执行用例,输出测试报告等自动化框架的条件。  unittest中的5个重要概念:testFixture,TestCase,TestSuite,TestLoder,TextTestRunner ... 查看详情

python自动化测试(代码片段)

1、软件测试根据项目流程阶段划分软件测试:上图是一个典型“V”模型软件开发流程:单元测试:单元测试是对程序中的单个子程序或具有独立功能的代码段进行测试的过程;集成测试:集成测试是单元测试的基... 查看详情

djangorestframework单元测试(代码片段)

...amework单元测试只是简单记录一下测试代码怎么写环境Win10Python3.7Django2.2项目参照官网快速开始写了一个demo测试参照官网测试和Django的测试差不多创建tutorial/tests/tests.pyimportjsonfromdjango.testimportTestCasefromrest_frameworkimportstatusfrom 查看详情