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