unittest测试框架介绍

一.定义:

  unittest是python中一个标准的测试框架,内置的库,主要用于对代码中写好的内容进行验证。提供了创建测试用例,测试套件以及批量执行的方案,可以去检验自动化脚本中每条用例的内容是否正确。使用的时候直接用import unittest语句导入即可。

二.框架的组成:
  Unittest中主要由5部分组成

    1.TestCase:测试类,编写单元测试用例最常用的类;可以理解为一个页面,页面下面再去写功能点的用例。写用例前,必须首先要定义一个类,这个类需要继unittest.TestCase。类的名字没有强制要求,一般会用Test_开头,比如test_Login;也可以用中文


    2.Test Fixture:设置用例开始执行前的前置工作和用例执行完成后的善后工作,使后续的测试用例执行不受影响。比如在测试登录时,刚开始执行需要打开浏览器,执行测试用例,用例执行完后,需要关闭浏览器。常用的主要有以下4个

      setUp():用例的前置操作,每次执行test的用例前,都会执行setUp()里的代码

      tearDown():用例执行完后执行的操作,在每个test用例执行完之后,都会执行tearDown()里的代码。

    3.测试方法:即测试用例,一个用例是一个方法,用def定义,必须要以test开头,这是unittest框架中的规范, 如果用例不是以test开头的话,在执行时会直接跳过该用例不会被执行。

    4.test suite:测试套件、集合;在一个测试用例集中可能存在很多用例,它把测试用例组织到一起进行一个整体的测试,而且Test Suit可以指定我们要执行哪几条,或者指定用例的执行顺序(如果不指定的话是按着用例名称在ASCII码表中进行排序)

   5.test runner和test report:test runner负责从指定的测试模块或者测试目录中发现所有的测试用例。它会扫描文件或目录,识别出所有的测试方法和测试类。一旦发现了所有的测试用例,test runner 就会按照套件里设置的顺序执行这些测试用例。在执行完所有测试用例后,test runner 会生成详细的测试报告test report

       上面这段代码创建了一个 TextTestRunner 的实例。TextTestRunner 是 unittest 框架中的一个类,用于运行测试用例并生成文本格式的测试报告。它会执行传递给它的测试套件(test_suite_kh

)中的所有测试用例。

三.@classmethod装饰器:

  上面的测试文件中有test_case1、test_case2、test_case3、test_case4,当运行这个测试文件时每个用例执行完成后都重新执行setUp()方法打开浏览器、输入账号密码;和tearDown()方法关闭浏览器。如果这四个用例不是测试登录而是测试登录后的模块,那么久不需要反复登录、关闭浏览器,手工测试时只需要登录一次,执行完所有用例后再关闭,这时就要用到@classmethod装饰器;使用@classmethod必须与Test Fixture中的另外两个设置setUpClass()和tearDownClass()一起用。

      setUpClass():这个也是前置操作,不过这个只会执行一次,在最最最开始的时候优先执行setUpClass()里的代码,在使用setUpClass()时必须加装饰器@classmethod。

      tearDownClass():这个是类里所有都运行完之后运行的操作,和setUpClass()一样,这个只会在所有代码都运行完后,最最最后运行一次,在使用tearDownClass()时也是必须加装饰器@classmethod。

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值