【Python】单元测试框架unitest及其高级应用

目录

Unittest

简单使用示例

重要概念

断言方法

深入

高级应用

认识Page Object

 资料获取方法


Unittest

Unittest是python的一个单元测试框架,但是它不仅适用于单元测试,还适用自动化测试用例的开发与执行。我们可以很方便的使用它组织执行测试用例,使用它提供的丰富的断言方法进行测试结果比对,并最终结合HTMLTestRunner生成测试报告完成整个自动化测试流程。

简单使用示例

创建被测类calculator.py
class count:
    def _init_(self,a,b)
        self.a = int(a)
        self.b = int(b)
     #计算加法
    def add(self):
       return self.a + self.b
通过unittest单元测试框架编写单元测试用例 test.py
from calculator import count
import unitest
class TestCount(unitest.TestCase):
    def setUp(self):
        print("test start")
    def test_add(self):
        j = count(2,3)
        self.assertEqual(j.add(),5)
    def tearDown(self):
        print("test end") 
if _name_ == '_main_':
    unittest.main()

说明:

  1. 首先引入unitest模块,创建testcount类继承unitest的testcase类。
  2. setUp():用于测试用例执行前的初始化工作,与tearDown()相呼应,用于执行后的善后工作。
  3. test_add中调用count类并传入要计算的数,通过调用add()方法得到两数相加的返回值,这里不再使用繁琐的异常处理,而是调用unitest框架所提供的assertEqual()对add()的返回值进行断言判断两者是否相等。assertEqual()方法是由testcase类继承而来的。
  4. main():unitest提供了全局的main()方法,使用它可以方便的将一个单元测试模块变成可以直接运行的测试脚本。main()方法使用Testloader类来搜索所有包含在该模块中以“test”命名开头的测试方法。
  5. name:作为模块的内置属性,简单地说就是.py文件的调用方式。.py文件有两种使用方式作为模块调用和直接使用,如果它等于“main”就表示是直接使用

重要概念

  1. TestCase:一个TestCase的实例就是一个测试用例,是一个完整的测试流程,包括测试前准备环境的搭建(setUp),实现测试过程的代码(run),测试后环境的还原(tearDown).
  2. Test Suite:把多个测试用例集合在一起来执行。可以通过addTest加载TestCase到Test Suite中,从而返回一个TestSuite实例。
  3. Test Runner:测试的执行,通过TextTestRunner类提供的run()方法来执行Test Suite/TestCase。Test Runner可以使用图形界面,文本界面,或者返回一个特殊的值的方式来表示测试执行的结果。
  4. Test Fixture:对一个测试用例环境的搭建和销毁。通过覆盖TestCase的setUp()和tearDown()方法来实现。tearDown()为下一个测试用例提供一个干净的环境。
from calculator impor
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值