python 代码覆盖率统计
来源:互联网 发布:mac 双分区 双系统 编辑:程序博客网 时间:2024/05/16 08:51
初步用了下python的coverage,非常方便,可以去官网下载使用:http://nedbatchelder.com/code/coverage/
而且命令很简单,就那么几个:
[root@rdsjq-linux21-04 agent]# coverage helpCoverage.py, version 3.5.1Measure, collect, and report on code coverage in Python programs.usage: coverage <command> [options] [args]Commands: annotate Annotate source files with execution information. combine Combine a number of data files. erase Erase previously collected coverage data. help Get help on using coverage.py. html Create an HTML report. report Report coverage stats on modules. run Run a Python program and measure code execution. xml Create an XML report of coverage results.Use "coverage help <command>" for detailed help on any command.Use "coverage help classic" for help on older command syntax.For more information, see http://nedbatchelder.com/code/coverage[root@rdsjq-linux21-04 agent]#
看统计结果可以用html,report 和xml
anotate的文件可以看到具体哪些行没有被执行到
1 > import zmq 2 > from zmq.eventloop.ioloop import IOLoop 3 > from zmq.eventloop.zmqstream import ZMQStream 4 > import json 5 > import agent 6 7 > SIGNAL = 0 8 > task = [] 9 10 > def gen_sub_task(msg): 11 > try: 12 > global SIGNAL 13 > if SIGNAL == 1: 14 ! return 15 > msg = msg[0] 16 > print msg 17 > worker = json.dumps(msg) 18 > task.append(worker) 19 20 ! except Exception,e: 21 ! print e 22 23 > def start_task(msg): 24 > try: 25 > global SIGNAL 26 > if SIGNAL == 1: 27 ! return 28 > msg = msg[0] 29 > if (msg == 'taskover'): 30 > print msg 31 #job = agent.Agent(task) 32 #job.start() 33 > task = [] 34 > SIGNAL = 1 35 > return 36 ! except Exception,e: 37 ! print e 38 39 40 41 42 > context = zmq.Context() 43 > sock = context.socket(zmq.PULL) 44 > sock.connect('tcp://10.1.147.162:7777') 45 > stream1 = ZMQStream(sock) 46 > stream1.on_recv(gen_sub_task)上面带!的行就是没有执行过的行
执行的时候: coverage run **.py args
然后停掉的时候,就可以获取统计信息了
Name Stmts Miss Cover---------------------------------------------------------------/home/qa/projects/rds-proxy/perf-test/log 10 7 30%agent 86 67 22%worker 40 6 85%---------------------------------------------------------------TOTAL 136 80 41%
唯一不是非常方便的地方就是一定要run的进程停下来才能看到统计信息。
下个项目就用它了,的却非常方便。
- python 代码覆盖率统计
- Python 代码覆盖率统计工具 coverage.py
- Python 代码覆盖率统计工具 coverage.py
- 利用coverage统计Python代码覆盖率
- 使用coverage统计python web项目的代码覆盖率
- jscoverage 统计js代码覆盖率
- 统计 Android 单元测试代码覆盖率
- (Android)代码覆盖率统计
- python代码覆盖率
- hold住php代码--代码覆盖率统计
- python coverage代码覆盖率工具
- 使用EclEmma统计代码的测试覆盖率
- Android自动化测试代码覆盖率统计
- maven中实现代码单元测试覆盖率统计
- jacoco统计自动化测试代码覆盖率
- 【转载】gcov 用法 --用于统计代码覆盖率
- oracle存储过程代码覆盖率统计工具
- jacoco远程统计代码覆盖率(实践)
- aodv-uu-0.9.6编译移植Mini6410 组建ad-hoc网络
- Android日记之2012/02/09——浅谈设计模式facade
- ListView 解析
- 2011年度全球移民国家移民条件浅析
- VS2008自定义快捷键设置
- python 代码覆盖率统计
- 实现信号延时的方法
- 排序算法
- WCF 学习笔记
- Android日记之2012/02/10——Android中的换行
- 任意分频的verilog语言实现
- msil
- lag(), lead()函数
- Base64编码的字符串 与 图片的 转换