2012-01-27 5 views
1

Я хотел бы иметь возможность запускать весь тестовый тест testSuite 5 раз подряд. Это включает в себя запуск, тест, а также методы срыва.Выполнение целого модульного теста в цикле

Я пробовал все под солнцем, включая добавление всего класса в цикл for, но не повезло. Спасибо за помощь.

import unittest, time, re 

class IIIAppforloop(unittest.TestCase): 
    def setUp(self): 
      print("setting up") 

    def testappforloop(self): 
     print ("testappforloop1") 
    def testappforloop2(self): 
     print ("testappforloop2") 

    def tearDown(self): 
     print ("tearing down") 

if __name__ == "__main__": 
    unittest.main() 
+1

Почему вы хотите это сделать? Чего вы пытаетесь достичь? –

+1

Я боюсь, что вы можете ошибочно выполнять модульное тестирование. – delnan

+0

Если вы проводите тестирование производительности, это неправильный подход. Если ваши тесты устройства имеют побочные эффекты или делают постоянные изменения, это тоже неверный подход. –

ответ

3

Если вы действительно хотите запустить тесты в цикле, и вы на Python 2.7+:

# ... skipped ... 

if __name__ == "__main__": 
    for i in range(5): 
     unittest.main(exit=False) 
2

Если вы хотите сделать стресс-тестирование с UnitTest на основе тестов, посмотрите на FunkLoad , он предназначен именно для этого.

В противном случае вам понадобится модифицированный испытательный бегун. Вы можете найти код в стандартной библиотеке, модуль unittest, для текущего тестового бегуна. Вероятно, вы можете создать экземпляр существующего и запустить его пять раз, например, ответить @ reclosedev.

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