解析python unitest常用方法及使用

Python (187) 2023-07-15 08:37:52

对于python的方法介绍不少,今天增加一个unitest更增加大家对于方法的积累,具体内容,请往下看。

关于unittest简介:

1、unittest是 python 的标准的单元测试框架,能够很好的和自动化测试相结合,并有独立的测试报告框架。

2、unittest提供了一系列类让测试变得更加容易。

unittest 的主要构成部分

test fixture

用于初始化、清理等动作。在 selenium 测试中,我们可以用来做 webdriver 的初始化等等

testcase

测试用例,unittest 的最小单元。用以对指定输入的返回结果进行检测。在 unittest 中提供 了 TestCase 基类,用来创建新的测试用例类。

test suite

测试套件,一系列测试用例或测试套件的集合。在 unittest 中由 TestSuite 类实现。

test runner

测试执行器,负责用例执行并生成测试报告,在 unittest 中提供了命令行模式和 GUI 模式来执行。

unittest 使用过程

导入unitttest模块

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
importunittest
importunittest
importunittest

定义一个被测试函数

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
defadd(a,b):
returna+b
defadd(a,b): returna+b
defadd(a,b):
returna+b

创建一个unittest.TestCase子类

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
classdemoTest(unittest.TestCase):
pass
classdemoTest(unittest.TestCase): pass
classdemoTest(unittest.TestCase):
pass

在demoTest新增一个测试方法:test_add_4_5, 测试方法名称必须以

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
test
开始
classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
pass
在新增的测试方法test_add_4_5中添加断言验证
classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
self.assertEquals(add(4,5),9)
test 开始 classdemoTest(unittest.TestCase): deftest_add_4_5(self): pass 在新增的测试方法test_add_4_5中添加断言验证 classdemoTest(unittest.TestCase): deftest_add_4_5(self): self.assertEquals(add(4,5),9)
test
开始

classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
pass
在新增的测试方法test_add_4_5中添加断言验证

classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
self.assertEquals(add(4,5),9)

最后,在main函数中调用unittest的main方法启动测试,最终整个代码如下:

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
#_*_coding:utf-8_*_
__author__='苦叶子'
importunittest
importsys
reload(sys)
sys.setdefaultencoding("utf-8")
#被测函数
defadd(a,b):
returna+b
#测试用例
classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
self.assertEquals(add(4,5),9)
#主函数
if__name__=='__main__':
unittest.main()
#_*_coding:utf-8_*_ __author__='苦叶子' importunittest importsys reload(sys) sys.setdefaultencoding("utf-8") #被测函数 defadd(a,b): returna+b #测试用例 classdemoTest(unittest.TestCase): deftest_add_4_5(self): self.assertEquals(add(4,5),9) #主函数 if__name__=='__main__': unittest.main()
#_*_coding:utf-8_*_
__author__='苦叶子'
importunittest

importsys
reload(sys)
sys.setdefaultencoding("utf-8")

#被测函数
defadd(a,b):
returna+b
#测试用例
classdemoTest(unittest.TestCase):
deftest_add_4_5(self):
self.assertEquals(add(4,5),9)

#主函数
if__name__=='__main__':
unittest.main()

运行结果如下:

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
.
----------------------------------------
Run1testin0.000s
OK
. ---------------------------------------- Run1testin0.000s OK
.
----------------------------------------
Run1testin0.000s
OK

运行unittest的输出信息

unittest 命令

unittest 提供了丰富的命令选项来控制 unittest 测试,下面我们简单的列举如下:

使用方法

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
python-munittest选项
示例,查看帮助信息
python-munittest-h
python-munittest选项 示例,查看帮助信息 python-munittest-h
python-munittest选项
示例,查看帮助信息
python-munittest-h

关于unittest方法就介绍到这里了,如果大家还想了解更多python实用知识,点击进入PyThon学习网教学中心。

THE END

发表回复