Как я могу автоматизировать периодическое выполнение моих спецификаций и получать уведомления, когда они терпят неудачу?

Я написал рецепт очистки экрана. Из-за того, как легко парсеры экрана ломаются, я написал несколько спецификаций, которые проверяют различные веб-сайты на ожидаемый результат. В среде разработки я использую VCR, поэтому мне не нужно постоянно звонить на эти сайты. .

Проблема в том, что на самом деле это не говорит мне, изменились ли сайты с рецептами и сломается ли мой скребок . Я мог бы периодически обновлять кассеты, что я и делаю, но я хотел бы быть более активным. Я хотел бы каким-то образом ежедневно запускать эти конкретные спецификации и получать уведомления о результатах, если они не работают, чтобы я мог вернуться и исправить скребок .


person hadees    schedule 29.11.2012    source источник


Ответы (1)


Один из подходов — упаковать ваше приложение как инструмент командной строки, который затем можно запланировать как задание cron. Когда что-то не получается, вы можете отправить его по электронной почте или использовать некоторую библиотеку уведомлений на вашем компьютере, чтобы привлечь ваше внимание. Я делал подобные вещи, используя Growl.

Если вы не хотите полагаться на свой ящик разработчика, создайте приложение, которое вы можете разместить на Heroku, которое делает то же самое (отправляет вам электронное письмо в случае неудачи).

Надеюсь, это поможет.

person jboursiquot    schedule 29.11.2012
comment
Я думал о том, чтобы вытащить тестовый код из спецификации и просто превратить его в библиотеку, потому что все, что я на самом деле делаю, — это убедиться, что хеш, который я получаю от своего скребка, равен известному хэшу значений, но это все еще кажется мне глупым. . - person hadees; 30.11.2012
comment
Это не обязательно должна быть библиотека как таковая, просто небольшое приложение с очень конкретной целью, которое вы можете запустить из командной строки. В этом нет ничего плохого :) - person jboursiquot; 30.11.2012