gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:38 25 4
gpt4 key购买 nike

在我的项目中,有一个文件夹,其中包含项目的所有 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com