在nosetests中关闭sqlalchemy警告

时间:2012-07-20 10:36:43

标签: python sqlalchemy nosetests

我试图在使用nosetests运行我的测试套件时压制所有sqlalchemy警告。我看了Turn off a warning in sqlalchemy

.............................../Users/ca/.pythonbrew/venvs/Python-2.7.3/api/lib/python2.7/site-packages/SQLAlchemy-0.7.5-py2.7-macosx-10.7-x86_64.egg/sqlalchemy/engine/default.py:330: Warning: Field 'random_id' doesn't have a default value
cursor.execute(statement, parameters)

我将其包含在我的软件包的__init__.py文件中:

def setup_package():
    """Setup the test during the whole session.

    Run by nosetests
    """
    # Suppress all SQLAlchemy warnings
    warnings.filterwarnings("ignore", category=sa_exc.SAWarning)

适当的进口。我知道它是由nosetests运行的,因为我尝试了其他一些引起错误的东西。唯一的问题是它没有任何效果。警告仍然显示。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

看起来鼻子会覆盖你设置的任何内容:

warnings.filterwarnings("ignore")

但是,您可以使用命令行选项在鼻子测试期间过滤警告。 e.g:

$ nosetests --logging-filter=SAWarning

我发现这在任何情况下都可能无效。如果是这种情况,您可以尝试:

$ python -W ignore `which nosetests`
相关问题