Python单元测试之unittest

Unittest

一、单元测试、集成测试、功能测试

单元测试

颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证

集成测试

介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。

功能测试

颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书

二、Unittest重要组成

Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法(断言)和一些用例执行前的初始化操作。

unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner

1. TestFixture

作用:用于一个测试环境的准备和销毁还原。

功能:当测试用例每次执行之前需要准备测试环境,每次测试完成后还原测试环境,比如执行前连接数据库、打开浏览器等,执行完成后需要还原数据库、关闭浏览器等操作。这时候就可以启用testfixture

主要方法:

2. TestCase:测试用例

定义:一个类class继承 unittest.TestCase,就是一个测试用例

什么是测试用例?

就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。

测试用例命名规则

继承自unittest.TestCase的类中,测试方法的名称要以test开头。且只会执行以test开头定义的方法(测试方法),测试用例执行的顺序会按照方法名的ASCII值排序。

如果想跳过某个测试用例,需要添加@unittest.skip)(‘描述信息')

代码

思考:如果有两个测试用例呢?哪个先执行呢?test002在test001前边呢?

TestSuite

测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例

方式一:

suite=unittest.TestSuite()#创建测试套件

case_list=[“test1”,”test2”….]

For caseincase_list:

       suite.addTest(类名(case))

代码:

if __name__ == '__main__':

    # unittest.main

    suite = unittest.TestSuite()

    caseList = ["test001", "test002"]

    for case in caseList:

            suite.addTest(UnitTestTwo(case))

    # 运行测试用例

    runner = unittest.TextTestRunner(verbosity=2)

    runner.run(suite)

方式二:用的不多

代码:

suite=unittest.TestSuite()#创建测试套件

    suite.addTest(类名(“test1“))

    suite.addTest(类名(“test2“))

方式三:

suite=unittest.TestSuite()#创建测试套件

loader=unittest.TestLoader()# 创建一个加载对象

 suite.addTest(loader.loadTestsFromTestCase(类名))

TextRunner

执行测试用例

通过TextTestRunner类提供的run()方法来执行test suite/test cas

格式:

runner=unittest.TextTestRunner(verbosity=2)

runner.run(suite)

注释:

三、断言

验证预期结果和实际结果(第一个用的最多)

实际测试案例-主要测试一个代码块

①测试代码和开发代码是分开的

②Calculate.py代码

③testdemotwo.py代码:

四、生成测试报告

html格式的就是HTMLTestRunner了,HTMLTestRunner是 Python 标准库的 unittest 框架的一个扩展,它可以生成一个直观清晰的 HTML 测试报告。

下载 HTMLTestRunner.py,复制到项目中

相关参数说明

创建一个类,testhtml

生成测试报告

五、操作

六、代码展示

对开发的代码块进行单元测试

开发被测代码

单元测试代码

七、读取文件

1. 读取xml文件

2. 创建xml文件

3. 读取xml文件

案例:

获取xml固定简单数据

抽取方法

具体使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、介绍 1、框架 说明: 1. 框架英⽂单词framework 2. 为解决⼀类事情的功能集合 > 需要按...
    Gao_DL阅读 2,419评论 0 1
  • 一、单元测试、集成测试、功能测试单元测试颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”...
    老友_9e40阅读 312评论 0 0
  • 目录类容 unittest单元测试,集成测试,功能测试 Unittest的重要组成部分 断言的使用 测试用例方法的...
    601eff46fb64阅读 151评论 0 0
  • 目录 unittest 类容 单元测试,集成测试,功能测试 Unittest的重要组成部分 断言的使用 测试用例方...
    淺色年華_7d4f阅读 272评论 0 0
  • 一、单元测试、集成测试、功能测试 1.单元测试 颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合...
    故里里阅读 528评论 0 1