2012-07-20 7 views
6

nosetestsでテストスイートを実行しているときに、すべてのsqlalchemy警告を抑制しようとしています。適切な輸入品でnosetestsでsqlalchemy警告をオフにします

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

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

:私は私のパッケージの__init__.pyファイルでこれを含ま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) 

をお読みください。私はエラーを提起した他のものを試したので、それがnosetestsによって実行されていることを知っています。唯一のことは、何の効果もないということです。それでも警告は表示されます。

ありがとうございます!あなたは鼻へのコマンドラインオプションを使用して鼻のテスト中に警告をフィルタリングすることができますしかし

warnings.filterwarnings("ignore") 

+0

「デフォルト値」の警告は「SAWarning」カテゴリのものではなく、「警告」と思われます。 'ignore:フィールド '\ w +'にデフォルト値がありません:警告'と働いているようです。 – tutuDajuju

答えて

4

鼻があなたが設定何でも上書きされているようです。例:

これはまだすべての状況で機能しないことがわかりました。この場合、試してみることができます:

$ python -W ignore `which nosetests` 
+0

pytest(新しい3.1)でも 'pytest -W '引数を使って同じことができますpytestまたはpytest.iniのプロパティとして。 [docs here](https://docs.pytest.org/en/latest/warnings.html)を参照してください。 – tutuDajuju

関連する問題