详解Python单元测试的两种写法

目录

一、前言

二、实现

1.doctest

2.unittest

一、前言

python的两个单元测试包分别是 doctest 和 unittest,这两个包的使用起来各有长处,适用于不同的场景

doctest:直接写在方法体中,利用了 python 动态语言的特性,书写方式简单明了,前提是项目不要太大,如果项目复杂代码量大,再加上写在方法体中的单元测试,整体就会看起来有些臃肿,因此 doctest 适用于代码量不大的普通项目

unittest:一般写在独立文件中,与 spring 的单元测试有点像,项目结构清晰,不过简单项目中测试一些小功能的话实属dark不必了

二、实现

先写一个待测试的方法

def add(num1, num2): return num1 + num2 1.doctest def add(num1, num2): """ 直接写在待测方法中 >>> add(14, 5) 19 >>> add(14, 5) > 1 True >>> add(20, 30, 70) Traceback (most recent call last): ... TypeError: add() takes 2 positional arguments but 3 were given """ return num1 + num2 if __name__ == "__main__": import doctest doctest.testmod()

运行上面的代码什么都不会输出,因为预测结果全部正确,只有在预测结果错误的时候才会给提示
ps:

add(14, 5) 为测试方法,19 为预测结果

add(14, 5) > 1 为测试方法,True 为预测结果

add(20, 30, 70) 为测试方法,Traceback (most recent call last): 为异常抛出的第一句话【错误原因】,TypeError: add() takes 2 positional arguments but 3 were given 为异常抛出的最后一句话【异常类型:解释说明】,中间三个点省略了异常中的文件路径信息

2.unittest import unittest # 引入上面的待测试方法 from src.main.add import add class TestStatisticalFunctions(unittest.TestCase): def test_add(self): self.assertEqual(add(14, 5), 19) # 断言 add(14, 5) 的结果为 19 self.assertTrue(add(14, 5) > 1, True) # 断言 add(14, 5) > 1 的结果为 True with self.assertRaises(TypeError): # 断言 add(20, 30, 70) 抛出 TypeError 异常 add(20, 30, 70) if __name__ == '__main__': unittest.main()

同样,运行上面的代码什么都不会输出,因为预测结果全部正确,只有在预测结果错误的时候才会给提示

到此这篇关于Python单元测试的两种写法的文章就介绍到这了,更多相关Python单元测试内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    678元的索泰zt-h55d3-m1dh主板

    678元的索泰zt-h55d3-m1dh主板,,近日,索泰zt-h55d3-m1dh主板已经运到市场,这是基于英特尔H55芯片组。它支持LGA 1156接口的酷睿i系列处理器

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    金蝶专业版审核以前期间的单据

    金蝶专业版审核以前期间的单据,,1.之前会计是手工做账,现在是金蝶做账,需要什么资料入初始数据在金碟里把你手工帐的科目设置好,然后启用帐

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    金蝶担保机构业务管理系统

    金蝶担保机构业务管理系统,,1.金蝶财务软件怎么使用?软件使用方法 使用需要先登陆到数据库,可只导出V3数据或只导出最新年度数据。功能介绍

    wps如何合并章节

    wps如何合并章节,WPS教程,1.WPS表格如何实现单元格合并?WPS 表格在新版本中增加了“合并单元格”系列按钮,同时配有下拉菜单和快捷键。新增