python 代码覆盖率统计
2012-02-13 19:55
501 查看
初步用了下python的coverage,非常方便,可以去官网下载使用:http://nedbatchelder.com/code/coverage/
而且命令很简单,就那么几个:
看统计结果可以用html,report 和xml
anotate的文件可以看到具体哪些行没有被执行到
执行的时候: coverage run **.py args
然后停掉的时候,就可以获取统计信息了
唯一不是非常方便的地方就是一定要run的进程停下来才能看到统计信息。
下个项目就用它了,的却非常方便。
而且命令很简单,就那么几个:
[root@rdsjq-linux21-04 agent]# coverage help Coverage.py, version 3.5.1 Measure, 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 代码覆盖率统计工具 coverage.py
- 利用coverage统计Python代码覆盖率
- Python 代码覆盖率统计工具 coverage.py
- 使用coverage统计python web项目的代码覆盖率
- Python 代码覆盖率统计工具 coverage.py
- Python 代码覆盖率统计工具 coverage.py
- 结合junit + ant + emma实现Android项目单元测试代码覆盖率统计
- c/c++代码的unit-test中覆盖率的统计
- 代码行数统计的Java和Python实现
- Jacoco是一个Java代码覆盖率统计工具
- 【Python】代码行数统计
- 【转载】gcov 用法 --用于统计代码覆盖率
- android手工测试代码覆盖率统计
- Python3 使用GUI统计代码量的例子
- Python 统计代码的行数,Python脚本 统计代码
- python实现代码行数统计示例分享
- python 远程统计文件代码分享
- 干货|使用luacov统计lua代码覆盖率
- Python统计代码行数