python代码覆盖率怎么统计的_python 代码覆盖率统计

初步用了下python的coverage,非常方便,可以去官网下载使用:http://nedbatchelder.com/code/coverage/

而且命令很简单,就那么几个:

[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 [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 " 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的进程停下来才能看到统计信息。

下个项目就用它了,的却非常方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值