python - Nose 框架 : avoid to include scipy. 统计数据在覆盖率测试中

标签 python unit-testing python-import nose nosetests

在我的项目中,有一个文件夹,其中包含项目的所有 python 模块的测试。测试通过unittest实现。

当我想测试代码时,我使用nose,然后从终端运行:

$ cd test_folder/
$ nosetests

一切都很好。当我想要获得有关测试执行的代码覆盖率的信息时,我运行以下命令

$ nosetests --with-coverage

但是,在我的一个 .py 模块中,我使用 scipy.stats 模块,通过导入

from scipy import stats

因为

import scipy
scipy.stats.foo()

not work 。问题是,当我运行覆盖率测试时,还会打印整个 scipy 和事件 numpy 模块的覆盖率分析。因此,覆盖率测试的输出是不可读的:有关这些模块的覆盖率的数百行。

输出示例:

...
numpy.polynomial.polytemplate                     6      1    83%   16
numpy.polynomial.polyutils                       73     53    27%   76-80, 106-112, 156-179, 226-234, 274-280, 323-327, 392-394
numpy.random                                      9      1    89%   98
numpy.random.info                                 2      0   100%   
numpy.version                                     7      1    86%   10
...
scipy.interpolate.info                            1      0   100%   
scipy.io.info                                     1      0   100%   
scipy.lib                                         3      0   100%   
scipy.lib.blas                                   49     36    27%   16-17, 26-65
scipy.lib.blas.info                               0      0   100%   
scipy.lib.info                                    1      0   100%   
...

您知道如何避免 nosetests --with-coverage 输出有关 numpyscipy 模块的覆盖率统计信息吗?

最佳答案

您可以使用以下语法从 scipy 导入统计信息:

import scipy.stats
scipy.stats.foo()

您可以使用 --cover-package 选项限制覆盖率报告。因此,如果您的代码位于应用程序包中,则调用将为:

nosetests --with-coverage --cover-package=app tests/

关于python - Nose 框架 : avoid to include scipy. 统计数据在覆盖率测试中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967248/

相关文章:

python - 打开 IPython 笔记本时出错

python - 动态更新 pandas 列名称以避免代码更改

c# - 我可以从 Visual Studio 2010 中运行 NUnit 测试吗?

python - python导入中如何区分包、模块、类、函数

python - 如何使用 Selenium 单击 javascript 按钮

Python 是否可以将两个 if 和一个 else 语句放在一起?

unit-testing - 单元测试 React Bootstrap 模态对话框

c# - 如果测试失败,TestCleanUp 中的条件行为

python - 为 Python 3 使用 pyping 时没有名为 'core' 的模块

python - 使用项目中的包创建可执行的 Zip 存档