2012-07-20 5 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 파일이 포함

.............................../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) 

Turn off a warning in sqlalchemy를 참조하십시오. 나는 그것이 오류를 발생시킨 다른 것들을 시도했기 때문에 nosetests에 의해 실행된다는 것을 안다. 유일한 것은 효과가 전혀 없다는 것입니다. 경고가 계속 표시됩니다.

아이디어가 있으십니까?

감사합니다. 당신이 코의 명령 행 옵션을 사용하여 코를 테스트하는 동안 경고를 필터링 할 수 있습니다 그러나

warnings.filterwarnings("ignore") 

:

+0

"기본 값"경고가 'SAWarning'범주의 것이 아니라 '경고'라고 생각됩니다. 'ignore : '\ w +'필드에 기본값이 없습니다 : Warning' 그리고 작동하는 것 같습니다 – tutuDajuju

답변

4

코 당신이 설정 한대로 덮어 것으로 보인다. 예 :

나는 모든 상황에서 여전히 작동하지 않는 것으로 나타났습니다. 이 경우에 시도해 볼 수 있습니다 :

$ python -W ignore `which nosetests` 
+0

pytest (최신 3.1)에서 'pytest -W '인수와 동일한 작업을 수행 할 수 있습니다. pytest 또는 pytest.ini의 속성으로; [docs here] (https://docs.pytest.org/ko/latest/warnings.html)를 참조하십시오. – tutuDajuju

관련 문제