Как тестировать cmd скрипты на python?

Привет всем,
Как тестировать cmd скрипты на python?
Есть примерно такая программа и надо бы её оттестировать:
import sys
import os
from cmd import Cmd
USING_READLINE = True

class Cli(Cmd,object):
    def do_foofail(self):
        if USING_READLINE is True:
            print ""
        else:
            print "try again"
if __name__ == '__main__':
    cmdLine = Cli()
    cmdLine.cmdloop()
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 1
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
Тестировать рекомендую на базе unittest модуля.
Мои рекомендации:
1. Тесты часто ломаются с абсолютными путями. Вывод: заготовить заранее шаблоны, которые относительно какого-либо каталога. А перед проверкой "действительный" результат подредактировать путем вычленения корневой директории
2. Тесты часто ломаются связанные с датой. Вывод: Перед тестом задать дату от которой отталкиваться и смотреть на "не более N секунд" или "дата1 не больше даты2, которая 2 строчками ниже" и т.д. и т.п.
3. Тесты часто ломаются если меняется IP . Вывод: привязываться только к тому что есть IP и что он рабочий, но какое его значение "фиалетово" или задать диапазон в которых он выделяется

Наборы:
1. Одна функциональность - один набор
2. Если функциональность под разными углами смотрите все равно это один набор, но разные тесты
3. В тестах чаще думайте о вынесении конфигурации куда-либо в словарь, чтобы можно легко было написать новый тест

Мой вам совет: Если тест уже ничего не тестирует, не бойтесь мысли "Я же его столько писал, столько времени потратил", удалите его! Он свое отслужил.
Второстепенный совет: Всегда и как можно чаще просматривайте тесты на хрупкость и актуальность на "сегодняшний момент"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы