16.4.6 保存结果数据
类似于命令行接口,还可以记录统计和覆盖信息。这些数据必须使用Trace对象的CoverageResults实例显式保存。
import trace
from recurse import recurse
tracer = trace.Trace(count=True,trace=False)
tracer.runfunc(recurse,2)
results = tracer.results()
results.write_results(coverdir='coverdir2')
这个例子将覆盖结果保存到目录coverdir2。
输出文件包含以下内容。
要保存统计数据来生成报告,可以对Trace使用infile和outfile参数。
import trace
from recurse import recurse
tracer = trace.Trace(count=True,
trace=False,
outfile='trace_report.dat')
tracer.runfunc(recurse,2)
report_trace = trace.Trace(count=False,
trace=False,
infile='trace_report.dat')
results = tracer.results()
results.write_results(summary=True,coverdir='/tmp')
将一个文件名传至infile来读取先前存储的数据,将一个文件名传至outfile可以在跟踪之后将新结果写入该文件。如果infile和outfile相同,则以上代码的效果就是用累积的数据更新文件。