2012-07-20 14 views
6

मैं अपने परीक्षण सूट को नोजेट के साथ चलाते समय सभी स्क्लेक्लेमी चेतावनियों को दबाने की कोशिश कर रहा हूं। मैं Turn off a warning in sqlalchemynosetests में 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 द्वारा चलाया जाता है क्योंकि मैंने कुछ अन्य चीजों की कोशिश की जो त्रुटि उठाई। केवल एक चीज यह है कि इसका कोई प्रभाव नहीं पड़ता है। चेतावनी अभी भी प्रदर्शित हैं।

कोई विचार?

धन्यवाद!

+0

मुझे विश्वास नहीं है कि "डिफ़ॉल्ट मूल्य" चेतावनी 'सावरिंग' श्रेणी की है, बल्कि 'चेतावनी' है। मैं निम्नलिखित का उपयोग करता हूं: 'अनदेखा करें: फ़ील्ड' \ w + 'का डिफ़ॉल्ट मान नहीं है: चेतावनी' और ऐसा लगता है कि – tutuDajuju

उत्तर

4

ऐसा लगता है नाक अधिलेखित कर देता है कि जो कुछ भी आप के साथ सेट:

warnings.filterwarnings("ignore") 

आप नाक के लिए एक कमांड लाइन विकल्प के साथ नाक परीक्षण के दौरान चेतावनी फ़िल्टर कर सकते हैं हालांकि। उदाहरण:

$ nosetests --logging-filter=SAWarning 

मुझे पता चला कि यह अभी भी सभी परिस्थितियों में काम नहीं कर सकता है। यदि ऐसा है तो आप कोशिश कर सकते हैं:

$ python -W ignore `which nosetests` 
+0

समान रूप से पाइटेस्ट (नया 3.1) में किया जा सकता है, जिसमें 'pytest -W ' तर्क है pytest या pytest.ini में एक संपत्ति के रूप में; [यहां दस्तावेज़] देखें [https://docs.pytest.org/en/latest/warnings.html)। – tutuDajuju

संबंधित मुद्दे