Skip to main content
 首页 » 编程设计

python测试结果报告

2025年05月04日11TianFang

我的问题是关于 python 单元测试报告。 我正在使用 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 不可迭代。 谢谢

请您参考如下方法:

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