Общее планирование модульных тестов - PullRequest
0 голосов
/ 26 мая 2010

Я (пере) пишу программу, которая выполняет общее планирование модульных тестов. Текущая программа является однопоточной Perl-программой, но я готов ее модульно выполнить и распараллелить тесты. Я также подумываю переписать его на Python.

Вот что мне нужно сделать:

  • У меня есть список тестов со следующими атрибутами:
    • uri: URI для тестирования (может быть HTTP / HTTPS / SSH / локальный);
    • зависит: ассоциативный массив тестов / значений, от которых зависит этот тест;
    • объединение: список соединений БД, добавляемых при выборе элементов для обработки в этом тесте;
    • disabled_db: дополнительные условия, добавляемые к запросу БД при выборе элементов для обработки в этом тесте.
  • Программа строит дерево зависимостей, начиная с тестов, которые не имеют зависимостей;
  • для каждого теста:
    • список элементов выбирается из базы данных с использованием условий (результаты зависимых тестов, соединений и зависимость_db);
    • список элементов отправляется на URI (с помощью POST или stdin);
    • результат извлекается в виде файла YAML со списком состояния и комментариями для теста для каждого тестируемого элемента;
    • результаты сохраняются в БД;
    • тест возвращается, что позволяет выполнять зависимые тесты.
  • программа генерирует отчеты (CSV, БД, графвиз) о выполненных тестах.

Основное использование этой программы в настоящее время - проверка парка машин на наличие таких служб, как резервное копирование, DNS и т. Д. Затем могут быть следующие тесты: - резервное копирование: на резервном компьютере (ах), вызываемом через HTTP, проверяется, хорошо ли работает резервное копирование; - DNS: размещенный на локальном компьютере, вызываемый через stdin, проверяет, есть ли у fqdn машины допустимая запись DNS.

Такой инструмент / модуль уже существует? Какова будет лучшая реализация для достижения этого (с использованием Perl или Python)?

1 Ответ

4 голосов
/ 26 мая 2010

Этот вид тестирования не является модульным тестированием .

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

...