带你从零理解UnitTest框架(3)

Time will tell.

续上章内容,本章节继续来说说 UnitTest 框架对于测试结果的处理方式。

从结构上来看,TestResult 就是一个单独的结果类,所有的逻辑全靠 TestCase 来做调度。

一、引入结果

在 case 的最上方,结果函数被直接引入:

from . import result

在 TestCase 中的默认结果函数,实例化了这个结果类的对象。

def defaultTestResult(self):
    return result.TestResult()

二、实例化结果对象

上文说过,TestCase 执行的时候,调用的是 run 方法,这个方法有一个result 的参数,默认是 None,一般来说,不做二次开发,使用的都是默认的参数。

if result is None:
    result = self.defaultTestResult()

三、执行用例的结果记录

执行的时候调用了 startTestRun() 方法。这里有个疑问点,这个方法在 result 中其实是一个空方法。

startTestRun = getattr(result, 'startTestRun', None)
if startTestRun is not None:
    startTestRun()

在开始执行用例前调用如下方法:

result.startTest(self)

def startTest(self, test):
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值