首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python鼻子覆盖插件太彻底(强制pylib选项)

python鼻子覆盖插件太彻底(强制pylib选项)
EN

Stack Overflow用户
提问于 2013-11-01 11:09:50
回答 2查看 486关注 0票数 0

我正在使用鼻子1.3.0和覆盖3.7。

在命令行上运行

代码语言:javascript
复制
coverage run test_myfile.py
coverage report

生成一个仅限于myfile.py中的函数的报告:

代码语言:javascript
复制
Name               Stmts   Miss Branch BrMiss  Cover
----------------------------------------------------
myfile               157     27     38     12    80%
test_myfile           81     16     16     13    70%
----------------------------------------------------
TOTAL                238     43     54     25    77%

但是,如果我尝试将复盖插件用于鼻子,覆盖率扩展到已安装的python库,速度慢,结果混乱:

代码语言:javascript
复制
nosetests --with-coverage myfile.py

在这里,覆盖范围扩展到安装的库中的所有使用过的包(手动缩短报告):

代码语言:javascript
复制
Name                                                    Stmts   Miss Branch BrMiss  Cover   Missing
---------------------------------------------------------------------------------------------------
Cookie                                                    201    201     64     64     0%   42-756
_LWPCookieJar                                              93     93     42     42     0%   14-169
_MozillaCookieJar                                          68     68     33     33     0%   3-149
bisect                                                     46     46     32     32     0%   3-92
.
.
.
myfile                                                    157     27     38     12    80%   57-58, 61, 64-67, 83, 114-145
.
.
.
requests.packages.urllib3                                  27     27      0      0     0%   7-58
requests.packages.urllib3._collections                     49     49     10     10     0%   7-94
requests.packages.urllib3.connectionpool                  209    209     50     48     1%   7-597
requests.packages.urllib3.contrib                           0      0      0      0   100%   
requests.packages.urllib3.exceptions                       42     42      2      2     0%   10-95
requests.packages.urllib3.filepost                         40     40     18     18     0%   7-98
requests.packages.urllib3.packages                          2      2      0      0     0%   1-3
.
.
.
sqlalchemy.engine.reflection                              156    156     79     79     0%   7-506
sqlalchemy.engine.result                                  434    434    173    169     1%   7-997
sqlalchemy.engine.strategies                              124    124     40     40     0%   7-260
sqlalchemy.engine.threadlocal                              80     80     28     28     0%   7-134
.
.
.
urllib2                                                   820    820    323    323     0%   92-1470
uuid                                                      293    293    119    119     0%   47-560
---------------------------------------------------------------------------------------------------
TOTAL                                                   35091  34961  14918  14828     1%   
----------------------------------------------------------------------

这似乎相当于在命令行上指定:

代码语言:javascript
复制
coverage run --pylib test_myfile.py

如何才能使鼻子覆盖插件不深入到已安装的python库中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-29 02:51:01

你应该配置它。下面是一个例子:

代码语言:javascript
复制
# .coveragerc
[report]
include = *.py
omit =
    tests.py
    *_test.py
    *_tests.py
    */site-packages/*
    */migrations/*
票数 2
EN

Stack Overflow用户

发布于 2013-11-02 04:29:09

我想你可能想试试像这是:这样的东西

代码语言:javascript
复制
nosetests --with-coverage --cover-package=myfile --cover-tests
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19725604

复制
相关文章

相似问题

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