python接口自动化测试(三)python框架unittest

2021-12-29 20:58:41 浏览数 (1)

做测试的大多数都知道测试接口的工具及框架,工具比较常见的有jmeterpostman;自动化框架一般有

unittestpytesttestng,其中unittestpytest是基于python语言的测试框架,testng则是基于Java的测试框架,本系列文章选择unittest框架作为测试框架。

1、什么是unittest

  • 官网是这么解释的:unittest 单元测试框架是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
  • 我的理解:其实unittest框架就是有一套自己特有的规格,我们在使用的时候需要遵循这个规格,它能是我们的测试变得更简单,代码更好维护,复用性更强,呈现的结果比原来更好

2、unittest的组成部分

  • 测试脚手架

官网定义:test fixture 表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理操作。举个例子,这可能包含创建临时或代理的数据库、目录,再或者启动一个服务器进程。

其实脚手架包含setupteardown两部分,在具体的测试中我一般会用这两部分来做初始化工作和测试完毕后的垃圾数据清理工作

代码语言:javascript复制
def setUp(self):
    #初始化
    pass
def tearDown(self):
    #数据清理
    #或者统计
    pass
  • 测试用例

unittest 提供一个基类: TestCase ,用于新建测试用例,我们的测试用例类需要继承TestCase基类

代码语言:javascript复制
 class demo(unittest.TestCase):
  • 测试套件

test suite 可以一起执行多个用例

代码语言:javascript复制
if __name__ == "__main__":
    suit = unittest.TestSuite()
    suit.addTest(createCode('test01_createCode'))
    result = unittest.TextTestRunner().run(suit)
  • 测试运行器

test runner 是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果。

代码语言:javascript复制
result = unittest.TextTestRunner().run(suit)

0 人点赞