В основном, озвучивание уведомлений (или других обратных вызовов), когда тесты ломаются или проходят. Есть ли что-нибудь подобное?
Если нет, это должно быть довольно легко написать. Самый простой способ - это сделать.
- запустить
python-autotest myfile1.py myfile2.py etc.py
- Проверьте, были ли изменены файлы, подлежащие мониторингу (возможно, только если они были сохранены).
- Запустите любые тесты в этих файлах.
- Если тест завершился неудачно, но в предыдущем прогоне он прошел, сгенерируйте предупреждение рычания. То же самое происходит с тестами, которые не выполняются.
- Подождите и повторите шаги 2-5.
Проблема, которую я вижу, заключается в том, что тесты находятся в другом файле. Простым решением было бы запустить все тесты после каждого сохранения... но с более медленными тестами это может занять больше времени, чем время между сохранением и/или может использовать много мощности процессора и т.д.
Лучший способ сделать это - это увидеть, какие биты кода были изменены, если функция abc() изменилась, запустить только те тесты, которые взаимодействуют с этим. Хотя это было бы здорово, я думаю, что это будет чрезвычайно сложно реализовать?
Подводя итог:
- Есть ли что-то вроде инструмента Ruby
autotest
(часть пакет ZenTest), но для кода Python? - Как вы можете проверить, какие функции изменились между двумя версиями script?
- Можно ли определить, какие функции вызовет команда? (Несколько напоминает обратную трассировку).