首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有覆盖率的Python nosetests不再显示缺少的行

具有覆盖率的Python nosetests不再显示缺少的行
EN

Stack Overflow用户
提问于 2016-06-10 02:05:03
回答 3查看 8.7K关注 0票数 23

到目前为止,我已经使用以下命令为Python项目运行测试和评估代码覆盖率超过一年了。

代码语言:javascript
复制
nosetests -v --with-coverage --cover-package=genhub genhub/*.py

覆盖率报告过去在最右侧包含一个列,显示缺少覆盖率的行。

代码语言:javascript
复制
Name                 Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------
genhub/cdhit.py         50      0      8      0   100%   
genhub/exons.py         85     69      8      0    17%   24-40, 48-56, 60-79, 87-107, 129-132, 138-141, 147-150
genhub/fasta.py         76      0     26      0   100%   
genhub/genomedb.py     205    153     48      0    21%   40-43, 53-60, 64-65, 70, 74, 82, 86, 90, 98-99, 103-104, 108-109, 113-114, 118-119, 123-124, 128-129, 143-144, 152-154, 158-160, 164-166, 175, 180, 240-280, 289, 292, 295, 308-317, 323-330, 351-377, 380-386, 396-413, 419-430, 436-443, 449-456
genhub/iloci.py        112     91      8      0    18%   30-46, 54-64, 73-90, 102-118, 127-142, 165-173, 179-183, 189-193, 199-207, 213-225
genhub/mrnas.py        121    108     24      0     9%   30-63, 79-105, 118-158, 178-197, 203-226
genhub/pdom.py          95     68     24      0    23%   31-32, 35, 39, 43, 47, 50-53, 56-59, 62-64, 67-72, 75-106, 116-119, 126-128, 134-141, 148-156
genhub/proteins.py      20     13      2      0    32%   43-53, 94-97
genhub/refseq.py       237    195     44      0    15%   30-46, 49, 53, 57, 61, 65, 69, 73, 76-86, 89-115, 118-127, 130-178, 189-211, 217-226, 232-242, 248-265, 271-288, 294-297, 303-310, 317-326, 333-374, 380-387
genhub/registry.py     126     90     32      2    24%   48-56, 59-64, 67-69, 72-77, 81-83, 92-94, 103-109, 112-113, 116-117, 142-168, 174-188, 194-201, 207-216, 40->44, 44->48
genhub/stats.py          3      0      0      0   100%   
genhub/tair.py         128     97     22      0    21%   32-42, 45, 49, 53, 57, 61, 65, 69, 73, 76-79, 82-104, 110-119, 122-154, 165-180, 186-189, 195-203, 210-221
----------------------------------------------------------------
TOTAL                 1258    884    246      2    27%   
----------------------------------------------------------------------
Ran 46 tests in 0.033s

FAILED (errors=41)

但是,我不再看到Missing列(nose version 1.3.7,coverage.py version 4.1)。

我知道鼻子不再被支持了。这个变化是与此相关的,还是coverage.py中的某些东西,或者两者兼而有之?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-10 18:39:45

在API4.1中,我修复了coverage.py coverage.py默认两个参数为非None值的问题。其中之一就是show_missing

在项目中修复此问题的最佳方法是在.coveragerc文件中设置show_missing

代码语言:javascript
复制
# .coveragerc
[report]
show_missing = True
票数 45
EN

Stack Overflow用户

发布于 2016-09-25 13:40:14

除了有一个配置文件来设置show_missing之外,您还可以使用coverage set_option来定义它。

代码语言:javascript
复制
cov.set_option('report:show_missing', True)

我在获取models.py的正确覆盖方面有问题,我根据this解决了它。

然后我只需添加上面的行来显示缺少的行。所以我的manage.py有一个这样的部分:

代码语言:javascript
复制
if is_testing:
    import coverage
    cov = coverage.coverage(source=['blog'], omit=['*/tests/*'])
    cov.set_option('report:show_missing', True) #add this
    cov.erase()
    cov.start()
票数 2
EN

Stack Overflow用户

发布于 2016-06-11 01:46:08

不需要恢复到3.7.1,只需降级到4.0.0即可

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37733194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档