首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否将nosetests和警告作为错误运行?

是否将nosetests和警告作为错误运行?
EN

Stack Overflow用户
提问于 2009-11-11 00:45:01
回答 3查看 2.4K关注 0票数 17

从命令行运行nosetests时,如何指定将“非忽略”警告视为错误?

默认情况下,将打印警告,但不会将其计入失败:

代码语言:javascript
复制
[snip]/service/accounts/database.py:151: SADeprecationWarning: Use session.add()
  self.session.save(state)
[snip]/service/accounts/database.py:97: SADeprecationWarning: Use session.add()
  self.session.save(user)
............
----------------------------------------------------------------------
Ran 12 tests in 0.085s

OK

因为我们不希望我们的代码生成警告,所以我不希望这种情况是OK

谢谢!

nosetests编辑:理想情况下,我想要的是一个nosetest命令行选项,它可以在每次测试之前发出一个warnings.simplefilter('error') (并在之后清除它)。

任何涉及在测试代码中使用warnings模块的解决方案似乎都没有切中要害。我不想手动编辑每个测试模块来将警告转换为错误。另外,我不希望每个测试模块的作者能够忘记“打开”警告错误。

EN

回答 3

Stack Overflow用户

发布于 2014-01-08 22:25:54

nosetests是一个小的Python脚本。使用编辑器打开它,并在第一行的末尾添加-W error。这将告诉Python解释器将警告转换为异常。

更简单的方法是使用Python环境变量注入“视警告为错误”标志:

代码语言:javascript
复制
PYTHONWARNINGS=error nosetests test/test_*.py --pdb
票数 12
EN

Stack Overflow用户

发布于 2015-10-20 21:04:24

@khinsen的回答很有帮助,但如果在测试发现过程中发出以下警告(否则用户看不到),则会使nosetest的执行停止:"ImportWarning:不导入目录'XXX':缺少__init__.py

此外,在导入模块期间引发的警告(与在测试期间引发的警告相反)不应被视为错误。

我遵循@dbw的建议编写了一个插件,可以在github上找到:https://github.com/Bernhard10/WarnAsError

一个鼻部插件WarnAsError

configureoptions函数旁边,插件实现了prepareTestRunner,其中它用一个具有不同run方法的类替换了默认的TestRunner:

代码语言:javascript
复制
def prepareTestRunner(self, runner):
    return WaETestRunner(runner)

该类存储原始的TestRunner,它的run-Method使用不同的warnings.simplefilter调用原始的TestRunner的run方法。

代码语言:javascript
复制
class WaETestRunner(object):
    def __init__(self, runner):
        self.runner=runner
    def run(self, test):
        with warnings.catch_warnings():
            warnings.simplefilter("error")
            return self.runner.run(test)
票数 5
EN

Stack Overflow用户

发布于 2009-11-11 00:51:55

我不认为nose可以直接控制这一点:当发出警告时,警告模块不会引发异常。warnings模块允许您控制应将哪些警告作为异常引发。

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

https://stackoverflow.com/questions/1709388

复制
相关文章

相似问题

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