2017-08-17 9 views
10

मैं अपने सभी pytest क्रमशः क्रमशः समानांतर में परीक्षण करना चाहता हूं।पायस्टेस्ट रन परीक्षण समानांतर

class Test1(OtherClass): 
    @pytest.mark.parametrize("activity_name", ["activity1", "activity2"]) 
    @pytest.mark.flaky(reruns=1) 
    def test_1(self, activity_name, generate_test_id): 
    """ 
    """ 

     test_id = generate_random_test_id() 
     test_name = sys._getframe().f_code.co_name 

     result_triggers = self.proxy(test_name, generate_test_id, test_id, activity_name) 

     expected_items = ["response"] 
     validate_response("triggers", result_triggers, expected_items) 


    @pytest.mark.parametrize("activity_name", ["activity1", "activity2"]) 
    @pytest.mark.flaky(reruns=1) 
    def test_2(self, activity_name, generate_test_id): 
    """ 
    """ 

     #same idea... 

मैं pytest -v -s उपयोग करते हुए मेरे परीक्षण चला:

मेरे वर्तमान सेटअप की तरह दिखता है।

परिणाम यह है कि मेरे परीक्षण अनुक्रमिक रूप से चल रहे हैं, जिनमें से कुछ समय लगता है क्योंकि उनमें से कुछ दूरस्थ सर्वर (एकीकरण परीक्षण) से प्रतिक्रियाओं की प्रतीक्षा करते हैं।

क्या समानांतर में pytest चलाने का कोई तरीका है?

+4

ऐसा लगता है कि आप क्या देख रहे हैं: https://docs.pytest.org/en/3.0.1/xdist.html –

उत्तर

3

आप pytest-xdist चाहते हैं। मुझे लगता है कि क्यूएक्सएफ 2 इसे काफी अच्छी तरह से समझाता है: Qxf2 on Pytest-Xdist

उनके लिनक्स कमांड लाइन हालांकि मेरे स्वाद के लिए थोड़ा वर्बोज़ है; मैं का उपयोग करें:

pytest -n <NUM> 

जहां <NUM> समानांतर श्रमिकों की संख्या है।

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