2014-09-18 2 views
0

У меня есть модуль testrun.py, который запускает все тесты. Один из тестов SWStatus таким образом, чтоПроведите тест несколько раз из другого теста

class HWStatus(myTest): 
    def __init__(self): 
     super(SWStatus, self).__init__() 

    def setup(self): 
     return 

    def work(self): 
    """ 
    doing my work here 
    """ 

Для выполнения этого теста я делаю python testrun.py SWStatus, и это дает мне результаты.

Я хочу создать тест HWStatus таким образом, чтобы он фактически запускал SWStatus тест 10 раз.

class HWStatus(myTest): 
    def __init__(self): 
     super(SWStatus, self).__init__() 

    def setup(self): 
     return 

    def work(self): 
    """ 
    run SWStatus test 10 times 
    """ 

Так что, если я python testrun.py HWStatus, он должен реально сделать python testrun.py SWStatus 10 раз. Каков способ реализации такой функциональности?

ответ

0

Возможно, вы могли бы использовать подпроцесс. Откройте тестовый скрипт в качестве подпроцесса, а затем выполните опрос(), чтобы определить, когда тест завершен, и вы можете запустить его снова.

for i in xrange(10): 
    args = ['python', 'testrun.py', 'HWStatus'] 
    p = subprocess.Popen(args) 
    while p.poll() != 0: 
     time.sleep(amount_of_time) 
+0

эй спасибо @RudyS. Я использую переменную 'status' в' work' classmethod of SWStatus. Это верно или ложно, в зависимости от некоторых проверок. Могу ли я получить доступ к переменной класса 'SWStatus' в классе' HWStatus'? благодаря – tryPy

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