2015-12-20 2 views
1

Я хотел бы получить помощь для запуска нескольких тестовых примеров python параллельно с использованием модуля многопроцессорности. Я создал класс FooTest с 10 тестовыми примерами в нем (testA, testB ...). Существует тестовый пример test_foo вне класса.запуск тестовых примеров в параллельном python

Как я могу запускать все тестовые примеры параллельно с помощью модуля многопроцессорности python? Спасибо за помощь.

import unittest 
import time 

def setUp(): 
    print "module setup" 

def test_foo(): 
    pass 

class FooTest(unittest.TestCase): 

    # preparing to test 
    def setUp(self): 
     """ Setting up for the test """ 
     print "FooTest:setUp_:begin" 

    # ending the test 
    def tearDown(self): 
     """Cleaning up after the test""" 
     print "FooTest:tearDown_:begin" 

    # test routine A 
    def testA(self): 
     """Test routine A""" 
     print "FooTest:testA" 
     time.sleep(2) 

    # test routine B 
    def testB(self): 
     """Test routine B""" 
     print "FooTest:testB" 

    # test routine C 
    def testC(self): 
     """Test routine C""" 
     print "FooTest:testC" 

    # test routine D 
    def testD(self): 
     """Test routine D""" 
     print "FooTest:testD" 

    # test routine E 
    def testE(self): 
     """Test routine E""" 
     print "FooTest:testE" 
     time.sleep(2) 

    # test routine F 
    def testF(self): 
     """Test routine F""" 
     print "FooTest:testF" 

    # test routine G 
    def testG(self): 
     """Test routine G""" 
     print "FooTest:testG" 

    # test routine H 
    def testH(self): 
     """Test routine H""" 
     print "FooTest:testH" 

    # test routine I 
    def testI(self): 
     """Test routine I""" 
     print "FooTest:testI" 

    # test routine J 
    def testJ(self): 
     """Test routine J""" 
     print "FooTest:testJ" 
     time.sleep(2) 

ответ

2

По nose documentation, которые вы также можете получить, запустив nosetests --help:

тест Spread --processes = NUM ​​работать среди этого множества процессов. Set a Число, равное количеству процессоров или ядер в Ваш аппарат для достижения наилучших результатов. Передайте отрицательное число , чтобы количество процессов автоматически устанавливалось на количество ядер. Передача 0 означает отключить параллельное тестирование . Значение по умолчанию равно 0, если не установлено NOSE_PROCESSES . [NOSE_PROCESSES]

Так просто запустить nosetests --processes=-1 для запуска тестов параллельно с использованием всех ядер на вашей машине.

+0

Благодарим вас за ответ. Это сработало. – Selva

Смежные вопросы