python测试结果报告

时间:2013-06-07 07:20:22

标签: python unit-testing reporting

我的问题是关于python unittest报告。 我正在使用xmlrunner包生成Jenkins使用的xunit输出。除此之外,我想要生成一个html输出或以一个漂亮的自定义格式打印出输出。 注意:我已经了解HTMLTestRunner并且它并没有让我高兴。 有3个问题:

  • 我的测试未显示为套件组(报告未显示分组)
  • 未显示测试详细信息(测试目的)
  • 故障堆栈跟踪不应显示在为管理
  • 生成的报告中

问题是如何迭代测试结果?

这是我的测试跑步者代码:

import unittest
import os, sys
import xmlrunner

def getSuites(root):
    testSets = {"ts1":["tc1","tc2"], "ts2":["tc3","tc4"]}
    suites = unittest.TestSuite()
    for ts_name,ts in testSets.iteritems():
        ts_dir = "%s/%s" % (root, ts_name)
        sys.path.append(ts_dir)
        print "ts_dir = %s" % ts_dir
        for tc in ts:
            module = __import__(tc,{},{},['1'])
            suites.addTest(unittest.TestLoader().loadTestsFromModule(module))
    return suites

if __name__ == "__main__":
    root = os.path.dirname(os.path.abspath(__file__))
    suites = getSuites(root)
    results = xmlrunner.XMLTestRunner(output='test_reports').run(suites)

注意:

for r in results:
    print r

抛出一个异常,说_XMLTestResult不可迭代。 感谢

1 个答案:

答案 0 :(得分:1)

for x in results.successes + results.failures + results.errors:
    print x
    #print x.get_description(), x.outcome