Запуск юнит-тестов с использованием PyDev

Я использовал Pydev на Eclipse. Я понимаю, что если у меня есть папка Eclipse с 5 файлами, содержащими модульные тесты, я могу запустить эти тесты один раз, щелкнув правой кнопкой мыши имя папки в Eclipse, выбрав "Запуск от имени" --> "Python unit-test" . Это отлично работает для меня.

Каким будет рекомендуемый способ запуска этих тестов фиксированное количество раз? Например, если я хочу запустить 5 тестов в папке по 10 раз каждый?

Я был бы очень признателен, если бы вы могли мне помочь.

Спасибо!


person SRA    schedule 07.01.2014    source источник
comment
Почему вы пытаетесь это сделать? Я не могу придумать ни одной причины запускать одни и те же тесты 10 раз подряд. Звучит так, будто вы пытаетесь профилировать свой код, но запускать все тесты 10 раз — не лучший способ сделать это.   -  person aquavitae    schedule 07.01.2014
comment
Привет, Aquavitae, я провожу тесты пользовательского интерфейса на основе распознавания изображений (используя Sikuli). Чтобы проверить тот факт, что тесты надежно идентифицируют изображения, которые я ему даю, я хотел запустить его X раз и убедиться, что сбоев нет...   -  person SRA    schedule 07.01.2014


Ответы (1)


Я думаю, что проблема в том, как вы строите свои тесты. Я вижу две проблемы:

  1. Если тесты проваливаются из-за плохого распознавания изображений, то наверняка они указывают либо на баг в Sikuli, либо на плохо спроектированный тест. Модульные тесты должны быть предсказуемыми и воспроизводимыми, поэтому необходимость их запуска несколько раз указывает на то, что они плохо настроены.

  2. Если вам действительно нужно запускать тесты пользовательского интерфейса несколько раз, то это следует делать в коде, а не в среде IDE, поскольку вы не можете гарантировать, что они всегда будут выполняться в этой среде (например, что, если вы хотите переместить в КИ?). Итак, вам нужно что-то вроде этого в вашем коде:

    def test_ui_component(self): for i in range(1): # Тестовый код здесь

    Вероятно, вы могли бы абстрагировать шаблон, используя декоратор или наследование классов, если вы действительно этого хотите.

person aquavitae    schedule 07.01.2014