2

我的问题是关于 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 不可迭代。谢谢

4

1 回答 1

1
for x in results.successes + results.failures + results.errors:
    print x
    #print x.get_description(), x.outcome
于 2013-06-07T07:42:43.957 回答