Pytest को TestSomething नामक वर्ग की उपेक्षा कैसे करें? [डुप्लिकेट]
मैं एक तरह के परीक्षण ढाँचे पर काम कर रहा हूँ जो कक्षाओं में होता है जिसका नाम TestSomething
बेशक होता है। और मैंने महसूस किया कि मेरे परीक्षण विफल हो रहे हैं क्योंकि पाइस्टेस्ट इन कक्षाओं को "आयात करने के साथ ही मुझे तुरंत और चलाने की आवश्यकता है" के रूप में देखता है। और यह बिल्कुल काम नहीं करेगा।
import pytest
from package import TestSomethingClass
क्या पाइस्टेस्ट टेस्ट फ़ाइल से सीधे ऐसे वर्ग को आयात करना संभव है? या शायद मुझे अप्रत्यक्ष रूप से एक स्थिरता के माध्यम से उन का उपयोग करना चाहिए?
यही समस्या अपवादों पर भी लागू होती है, क्योंकि मुझे ऐसा कुछ करने की आवश्यकता होगी
with pytest.raises(TestsSomethingError):
जवाब
स्पष्ट रूप से अक्षम
आप अपने विशिष्ट वर्ग के भीतर ध्वज को Test
सेट करके, शब्द के साथ शुरू होने वाले गुण के द्वारा इस विशिष्ट वर्ग की अनदेखी करने की अनुमति देने में सक्षम हैं__test__
False
class TestSomethingClass(object):
__test__ = False
def test_class_something(self, object):
pass
सुविधा: https://github.com/pytest-dev/pytest/pull/1561
विन्यास फाइल
हम आपकी pytest.ini
फ़ाइल में कन्वेंशन को पूरी तरह से बदल सकते हैं और सभी वर्ग नामों को अनदेखा कर सकते हैं जो शब्द शुरू करते हैं Example
। लेकिन मैं यह सलाह नहीं देता, क्योंकि हम संभावित रूप से सड़क के नीचे अनपेक्षित परिणामों का सामना कर सकते हैं।
#pytest.ini file
[pytest]
python_classes = !Example
पाइस्टेस्ट कन्वेंशन
परीक्षण उपसर्ग परीक्षण कार्यों या विधियों कक्षा के बाहर
परीक्षण उपसर्ग परीक्षण कार्यों या विधियों का परीक्षण उपसर्ग परीक्षण कक्षाओं के अंदर ( init विधि के बिना )
स्रोत: https://docs.pytest.org/en/stable/customize.html