पर कमांड लाइन तर्कों को समझने के लिए सबसे ज्यादा प्राप्त नहीं हो सकता है इसलिए मैं कुछ कमांड लाइन तर्क के आधार पर विभिन्न वातावरणों पर सेलेनियम परीक्षण चलाने के लिए सबसे ज्यादा प्रयास करने की कोशिश कर रहा हूं। लेकिन यह इस त्रुटि फेंक रहता है:सेटअप
TypeError: setup_class() takes exactly 2 arguments (1 given)
यह समझने की है कि setup_class
2 तर्क लेता है, लेकिन host
पारित नहीं किया जा रहा है लगता है। यहाँ setup_class
के लिए कोड है:
def setup_class(cls, host):
cls.host = host
और यहाँ conftest.py फ़ाइल है:
def pytest_addoption(parser):
parser.addoption("--host", action="store", default='local',
help="specify the host to run tests with. local|stage")
@pytest.fixture(scope='class')
def host(request):
return request.config.option.host
क्या अजीब बात है कि host
कार्य (ही देख रहे हैं, इसलिए यदि मैं एक test_function और पास करना है पैरामीटर के रूप में होस्ट करें, यह ठीक है), यह केवल setup
फिक्स्चर है जो काम नहीं कर रहे हैं।
मैं चारों ओर देखा और यह पाया, pytest - use funcargs inside setup_module लेकिन वह py.test 2.3.2 का उपयोग करते हुए काम किया जाना प्रतीत होता है नहीं है (और यह 2.3 के बाद से पुरानी है।
किसी को भी पता है मैं गलत क्या कर रही हूं? ।
धन्यवाद
[यहाँ] (http://pytest.org/latest/fixture.html#working-with-a-module-shared-fixture) यह कहते हैं, "स्थिरता के नाम पर फिर से smtp है और आप कर सकते हैं किसी भी परीक्षण या सेटअप फ़ंक्शन में इनपुट पैरामीटर के रूप में नाम smtp को सूचीबद्ध करके इसके परिणाम तक पहुंचें "। तो मैं इसे सेटअप पर उपयोग कर सकता हूं और ऐसा नहीं, नहीं? और 'ऑटोउस' और 'उपयोग' सभी परीक्षणों को उस कोड को चलाता है, मैं बस इसे स्थापित करना चाहता हूं। – Nacht
मैं आपको जवाब दूंगा। भले ही आपने मेरे विशिष्ट उत्तर का जवाब नहीं दिया, फिर भी आपने मुझे एक काम के रूप में एक विचार दिया। यह अजीब बात है, दस्तावेज़ कहते हैं कि आप इसे कर सकते हैं, लेकिन ऐसा लगता है कि यह मामला नहीं है। वैसे भी, धन्यवाद। – Nacht
आप सही हैं, दस्तावेज़ भ्रामक हैं। या वास्तव में, मैंने बस एक फिक्स अपलोड किया जो "फ़ंक्शन फ़ंक्शन" के साथ "सेटअप फ़ंक्शन" को प्रतिस्थापित करता है। माफ़ कीजिये! – hpk42