您的位置:首页 > 产品设计 > UI/UE

Pyunit源码笔记之九 testsuite执行后,runner/result的结果输出

2017-06-01 15:38 399 查看
接上文,test case/suit执行完毕,

回到runner.py

计算运行时间, timeTaken = stopTime - startTime

try:
test(result)
finally:
stopTestRun = getattr(result, 'stopTestRun', None)
if stopTestRun is not None:
stopTestRun()
stopTime = time.time()
timeTaken = stopTime - startTime
result.printErrors()
................


打印错误信息:result.printErrors()

def printErrors(self):
if self.dots or self.showAll:
self.stream.writeln()
self.printErrorList('ERROR', self.errors)
self.printErrorList('FAIL', self.failures)

def printErrorList(self, flavour, errors):
for test, err in errors:
self.stream.writeln(self.separator1)
self.stream.writeln("%s: %s" % (flavour,self.getDescription(test)))
self.stream.writeln(self.separator2)
self.stream.writeln("%s" % err)


第一篇里面的:

======================================================================
FAIL: testsum (__main__.MyTest)
----------------------------------------------------------------------
对应下面的

self.stream.writeln(self.separator1)
self.stream.writeln("%s: %s" % (flavour,self.getDescription(test)))
self.stream.writeln(self.separator2)

还有:

Traceback (most recent call last):
File "D:\hy\ws\Prj_jd\pkg_jd\utamy.py", line 13, in testsum
self.assertEqual(self.myclassa.addMy(a, b), a * b)
AssertionError: 9 != 20


对应下面的

self.stream.writeln("%s" % err)


还有:

----------------------------------------------------------------------
Ran 2 tests in 0.016s


对应下面的:

if hasattr(result, 'separator2'):
self.stream.writeln(result.separator2)
run = result.testsRun
self.stream.writeln("Ran %d test%s in %.3fs" %
(run, run != 1 and "s" or "", timeTaken))
self.stream.writeln()


还有:

FAILED (failures=1)
对应下面的

infos = []
if not result.wasSuccessful():
self.stream.write("FAILED")
failed, errored = len(result.failures), len(result.errors)
if failed:
infos.append("failures=%d" % failed)
if errored:
infos.append("errors=%d" % errored)
else:
self.stream.write("OK")
if skipped:
infos.append("skipped=%d" % skipped)
if expectedFails:
infos.append("expected failures=%d" % expectedFails)
if unexpectedSuccesses:
infos.append("unexpected successes=%d" % unexpectedSuccesses)
if infos:
self.stream.writeln(" (%s)" % (", ".join(infos),))
else:
self.stream.write("\n")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: