Агрегация нескольких тестовых примеров из нескольких модулей для запуска в PyDev TestRunner

Каков наилучший способ объединить тестовые примеры из нескольких модулей, чтобы один тестовый прогон выполнил их все и представил результаты в окне PyDev UnitTest?

2 Solutions collect form web for “Агрегация нескольких тестовых примеров из нескольких модулей для запуска в PyDev TestRunner”

В PyDev есть много вариантов в зависимости от того, что вы хотите:

  1. Щелкните правой кнопкой мыши папку и выберите «run as> Python unit-test» (запустите все модули ниже каталога в качестве модульных тестов).

  2. Щелкните правой кнопкой мыши несколько модулей python и выберите «run as> Python unit-test» (загрузите тесты для всех этих модулей и запустите их).

  3. Создайте модуль, который импортирует все тесты с другим именем и выбирает 'run as> Python unit-test' для этого модуля.

то есть:

from test_mod1 import Test as Test1 from test_mod2 import Test as Test2 
 import sys import unittest # add here some import paths sys.path.append(r'..\..') if True: #__name__ == '__main__': try: __file__ except NameError: path = '.' else: path = os.path.split(__file__)[0] caseset = dict() def addSuite(suite): for case in suite: if isinstance(case, unittest.TestSuite): addSuite(case) continue key = case.id() if key in caseset: ## print 'in:', type(case).__name__ pass else: ## print 'new:', type(case).__name__ caseset[key] = case for filename in os.listdir(path): # could also be os.walk if filename.startswith('test_'): filepath = os.path.join(path, filename) modname, ext = os.path.splitext(filename) if os.path.isfile(filepath) and ext.lower() in ('py', 'pyw'): mod = __import__(modname) else: try: mod = __import__(modname) except ImportError: ty, er, tb = sys.exc_info() if tb.tb_next: traceback.print_exception(ty, er, tb) continue cases = unittest.defaultTestLoader.loadTestsFromModule(mod) addSuite(cases) l = caseset.values() suite = unittest.TestSuite(l) ##if __name__ == '__main__': ##unittest.TextTestRunner(verbosity=1).run(suite) # run all tests 

этот файл импортирует все модули, начиная с «test_» в том же каталоге, и добавляет их все в переменную suite .

suite должен быть запущен pydev, но я не могу его проверить – у меня нет pydev.

  • py.test: скрыть строки stacktrace из модуля unittest
  • Результат кэширования setUp () с использованием Python unittest
  • Python unittest тестирование MongoDB случайно не работает
  • Как иметь wxpython захватить события потока в модульном тесте?
  • Тест Django FileField с использованием тестовых приборов
  • Соответствующая иерархия файлов для unittesting в Python
  • Тест-драйв Django не находит тесты
  • Проверка тестового шаблона Django
  • Python - лучший язык программирования в мире.