मुझे ऐसा करने की आवश्यकता नहीं है, क्योंकि कमांडलाइन झंडे के माध्यम से प्लगइन्स को अक्षम करना आसान है। समाधान के लिए आप -c
विकल्प का उपयोग कर एक अलग INI फ़ाइल निर्दिष्ट कर सकते हैं और या तो एक अलग INI फ़ाइल है या यहां तक कि /dev/null
का उपयोग के रूप में मैं नीचे
$ cat pytest.ini
[pytest]
addopts= -p no:django
$ py.test
================================================= test session starts
platform linux -- Python 3.4.3, pytest-3.0.5, py-1.4.32, pluggy-0.4.0
rootdir: /home/me/python, inifile: pytest.ini
plugins: pep8-1.0.6, cov-2.4.0
collected 0 items
============================================ no tests ran in 0.02 seconds
$ py.test -c /dev/null
================================================= test session starts
platform linux -- Python 3.4.3, pytest-3.0.5, py-1.4.32, pluggy-0.4.0
rootdir: /home/me/python, inifile: /dev/null
plugins: django-3.1.2, pep8-1.0.6, cov-2.4.0
collected 0 items
============================================ no tests ran in 0.02 seconds
है क्या तुम सच में इसकी जरूरत है, तो आप की तरह कुछ कर सकता है। py.test -c <(grep -v no:django pytest.ini)
एक यूनिक्स नामपटल का उपयोग करके और प्लगइन लाइन को हटाने के लिए grep
या sed
का उपयोग करें। लेकिन यह अभी भी सभी प्लगइन्स डिफ़ॉल्ट रूप से आसान है और कमांडलाइन के माध्यम से अक्षम लगता है।
py.test -c <(grep -v no:django pytest.ini)
================================================= test session starts
platform linux -- Python 3.4.3, pytest-3.0.5, py-1.4.32, pluggy-0.4.0
rootdir: /home/me/python, inifile: /dev/fd/63
plugins: django-3.1.2, pep8-1.0.6, cov-2.4.0
collected 0 items
============================================ no tests ran in 0.03 seconds
वैकल्पिक रूप से मैं pytest.ini
में addopts= -p no:myplugin
निर्दिष्ट नहीं होता है और इसके बजाय PYTEST_ADDOPTS
वातावरण चर का उपयोग जब मैं उन्हें बंद कर देना चाहता था। लेकिन यह
धन्यवाद, हाँ, 'pytest.ini' फ़ाइल से बचने के लिए यह अच्छा है, लेकिन एक समस्या यह है कि पहले से ही कुछ प्लगइन्स अक्षम हो सकते हैं, और विचार केवल – eLRuLL
में सक्षम करने के लिए है यदि आपको वास्तव में इसकी आवश्यकता है, आप कुछ ऐसा कर सकते हैं। 'py.test -c <(grep -v no: django pytest.ini) 'प्लगइन लाइन को हटाने के लिए एक यूनिक्स नामित पाइप और' grep' या 'sed' का उपयोग करना। – dinosaurwaltz
हाँ, लेकिन समस्या वास्तव में परीक्षण चलाने वाले अन्य लोगों के लिए आसान बनाना है। मैं फ़ाइल से बच सकता हूं और कमांड लाइन पर प्रत्येक व्यक्ति को अलग-अलग अक्षम कर सकता हूं, लेकिन यह किसी प्रोजेक्ट में परीक्षण चलाने का डिफ़ॉल्ट तरीका नहीं हो सकता है। – eLRuLL