匿名用户
1级
2016-07-10 回答
TestResult方法介绍
1. printErrors
作用:被TestRunner在执行玩测试内容的时候调用,打印错误信息,默认不输出任何信息
输入参数:无
输出参数:无
返回值:无
2. startTest(self, test)
作用:在每个测试条目执行测试之前被调用,将测试条目个数加一,设置_mirrorOutput为False ,最后根据buffer参数,设置 sys.stderr 和sys.stdout,
输入参数:test 测试用例类的实例化对象
输出参数:
返回值:
3. startTestRun
作用: 在runner开始执行测试用例之前被调用,默认不执行内容,和startTest不同,startTest是在Testcase子类调用。
输入参数:无
输出参数:无
返回值:无
4. stopTest (self, test)
作用: 在测试用例执行测试条目之后被调用,如果处于buffer状态,并且mirrorOutput为真,即测试条目执行失败或异常,则将原来缓存的数据进行输出。然后将缓存数据清空,并_mirrorOutput置为False
输入参数:test 测试用例类的实例化对象
输出参数:无
返回值:无
5 stopTestRun
作用: 在runner执行完所有的测试用例后被调用,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:无
输出参数:无
返回值:无
6. addError(self, test, err)
作用: 在测试用例类执行完测试条目错误或异常后被调用,
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb) exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容
输出参数:无
返回值:无
7. addFailure(self, test, err)
作用:在测试用例类执行完测试条目失败后被调用,,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb)
exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容,如果处在buffer
为真的情况下,还还会将当前的sys.stdout 和sys.stderr的内容也一并合并保存在failture的成员变量列表中的字符串内容中。
输出参数:无
返回值:无
8. addError (self, test, err)
作用:在测试用例类执行完测试条目失败后被调用,,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb)
exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容,如果处在buffer
为真的情况下,还还会将当前的sys.stdout 和sys.stderr的内容也一并合并保存在error的成员变量列表中的字符串内容中。
输出参数:无
返回值:无
9. addSuccess (self, test)
作用:在测试用例类执行完测试条目成功后被调用,,默认不执行内容
输入参数:test 测试用例类的实例化对象
输出参数:无
返回值:无
10. addSkip( self, test, reason):
作用:在测试用例类执行的测试条目被skip后被调用,将该条目添加到 skipped 列表中
输入参数:test 测试用例类的实例化对象 reson 是skip的原因
输出参数:无
返回值:无
11. addExpectedFailure (self, test, err):
作用:在测试用例类执行的测试条目期望的失败发生后被调用,将该条目添加到expectedFailures列表中
输入参数:test 测试用例类的实例化对象 err是 该失败的情况
输出参数:无
返回值:无
12. addUnexpectedSuccess (self, test):
作用:在测试用例类执行的测试条目期望的失败发生后被调用,将该条目添加到expectedFailures列表中
输入参数:test 测试用例类的实例化对象 err是 该失败的情况
输出参数:无
返回值:无
13. wasSuccessful
作用:通过判断failures和errors列表是否为空,判断所有测试条目是否执行成功
输入参数: 无
输出参数:无
返回值:无
14. stop
作用: shouldStop设置为True,用于终止测试
输入参数: 无
输出参数:无
返回值:无
15. _exc_info_to_string (self, err, test):
作用: 将err 异常数据整理成字符串,并且如果有buffer为真,将sys.stdout 和sys.stderr的数据也添加到返回的字符串中
输入参数: 无
输出参数:无
返回值:字符串
16. _is_relevant_tb_level(self, tb):
作用: 将err 异常数据整理成字符串,并且如果有buffer为真,将sys.stdout 和sys.stderr的数据也添加到返回的字符串中
输入参数: 无
输出参数:无
返回值:字符串
17. _count_relevant_tb_levels(self, tb):
作用: 获取traceback的层次数
输入参数: 无
输出参数:无
返回值:traceback的层次数
18, __repr__
作用: 返回一个显示测试项执行的数目以及测试失败的条目和异常的条目的个数。
输入参数: 无
输出参数:无
返回值:字符串
注释:
addError和addFailure 以及
addUnexpectedSuccess 函数 都有装饰器@failfast,有了该装饰器,则在实际调用 上述三个函数的时候,都会被封装一层 ,额外添加的功能就是会被用在发生错误或失败的时候停止测试。
def failfast(method):
@wraps(method)
def inner(self, *args, **kw):
if getattr(self, 'failfast', False):
self.stop()
return method(self, *args, **kw)
return inner