Разработчики ненавидят тесты. Проверять код, который явно идеален, утомительно. Что еще хуже, скромный веб-разработчик редко знает, какую ОС или браузер выберет пользователь, и должен тестировать различные платформы. Топ-5 браузеров могут быть относительно простыми, но к ним присоединился растущий разнообразный и мощный набор мобильных устройств.
JavaScript особенно проблематичен. Разработчики создают сложные клиентские приложения, и модульное тестирование стало необходимым. Есть ряд библиотек, которые могут помочь, в том числе YUI Test , FireUnit и JsUnit . К сожалению, это остается в значительной степени ручным процессом, поскольку одновременно можно протестировать только один браузер.
YUI-разработчики Yahoo используют одни из самых строгих процессов: в настоящее время они поддерживают 11 браузерных сред и тестируют несколько новых мобильных платформ. Тестирование функциональности JavaScript на одном браузере было трудоемким, а инструменты автоматического тестирования были сложны в настройке и обслуживании.
Чтобы облегчить бремя, Yahoo выпустила Yeti — YUI Easy Testing Interface . Это проект с открытым исходным кодом, основанный на node.js, который позволяет выполнять модульное тестирование из командной строки:
$ yeti mytestpage.html
✔ DOM Tests from Safari (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us)
AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16)
20 passed
0 failed
Тем не менее, многопользовательские возможности Yeti будут волновать большинство разработчиков. Запуск Yeti без аргументов запускает веб-сервер по адресу http: // localhost: 8000 /. На этот URL можно указать любой браузер, включая мобильные устройства, если вы используете систему, такую как localtunnel, для создания публичного адреса для локального сервера. Каждый тест, который вы затем запускаете, автоматически выполняется во всех браузерах, посещающих URL-адрес Yeti, и результаты возвращаются в консоль. Удивительный.
Yahoo признает, что Yeti еще не завершен, но вы можете скачать код v0.1 сегодня. Он был протестирован только на Mac OS X, хотя может работать на ПК с Linux с node.js. После запуска любой браузер, работающий в любой ОС, может быть направлен на сервер.
Yeti обладает потенциалом сделать модульное тестирование JavaScript намного проще, чем сегодня. Это, безусловно, проект, который мы с интересом будем смотреть.
Ссылки по теме: