Comments 29
Интересно, я сейчас как раз пытаюсь прикрутить кросс-браузерное тестирование Ext JS приложения на базе Selenium, и пока безуспешно. Попробую js-test-driver.
js-test-driver это именно среда запуска юнит-тестов. Не вполне ясно как его скрутить с тем же Selenium'ом.
я вместо селениума хочу попробовать
Пока они не сделают поддержку асинхронных тестов (сейчас ее нет в продакшене) судя по всему будет не легко…
хм, они тут пишут code.google.com/p/js-test-driver/wiki/AsyncTestCase что в 1.2.2 есть асинхронный API.
и скачивать дают как раз 1.2.2
и скачивать дают как раз 1.2.2
Хм… когда я его пробовал он там не работал как надо. Может быть с тех пор обновили билд, надо проверить.
Собственно они как-раз отвечают, что асинхронный API есть, но выложена версия без каких-то критикал-багфиксов
«We've fixed several critical bugs since then. I'll let Cory know we should release an updated version.»
«We've fixed several critical bugs since then. I'll let Cory know we should release an updated version.»
А кроме сафари и хрома, он умеет другие движки?
И есть ли возможность отлавливать ошибки работы с дом-моделью страницы?
И есть ли возможность отлавливать ошибки работы с дом-моделью страницы?
Ему без разницы где гонять тесты. Какой браузер натравите на сервер и сделаете сapture — тот и будет гонять тесты. Можно хоть все имеющиеся подключить, и еще с других ОС удаленно тоже подключиться и на них тоже гонять.
Ошибка работы с дом моделью можете отлавливать через обычные assert*. document, window и любые производные от них (естественно) доступны в коде тестов.
+ он умеет декларативное добавление HTML на страницу прямо во время теста.
Ошибка работы с дом моделью можете отлавливать через обычные assert*. document, window и любые производные от них (естественно) доступны в коде тестов.
+ он умеет декларативное добавление HTML на страницу прямо во время теста.
Мммм… То есть я правильно понимаю что надо запустить сервер, зайти последовательно на него всеми браузерами, выключить сервер и получить статистику по ошибкам?
Похоже вы невнимательно читали статью…
1. Запускаем сервер
2. Подключаем к нему все браузеры
3. Оставляем работать навсегда
Далее…
1. Запускаем среду исполнения тестов
2. Получаем отчет об ошибках
3. При необходимости исправить ошибки и повторить с п. 1
Сервер и браузеры могут жить вечно. Тесты запускаются вами или из IDE, среда исполнения подключается к серверу, выполняет в нем тесты (во всех подключенных браузерах, сама, автоматом, браузеры больше можно не трогать), вы получаете результат.
1. Запускаем сервер
2. Подключаем к нему все браузеры
3. Оставляем работать навсегда
Далее…
1. Запускаем среду исполнения тестов
2. Получаем отчет об ошибках
3. При необходимости исправить ошибки и повторить с п. 1
Сервер и браузеры могут жить вечно. Тесты запускаются вами или из IDE, среда исполнения подключается к серверу, выполняет в нем тесты (во всех подключенных браузерах, сама, автоматом, браузеры больше можно не трогать), вы получаете результат.
Интересно, а можно ли его подключить для интеграционного тестирования к рабочей среде — дабы прогнать еще и аяксики всякие?
Текущая версия не умеет делать асинхронные тесты. Я для этого использую различные mock'и. Уже сейчас на странице проекта есть wiki-страница описывающая методику асинхронного тестирования, но готовых бинарников пока нет, транк проекта, насколько я понимаю, сейчас не стабильный.
Есть различные сторонние варианты использования тестов QUnit (которые умеют делать асинхронность) и js-test-driver. Они описаны на wiki проекта и комментариях к ним.
Есть различные сторонние варианты использования тестов QUnit (которые умеют делать асинхронность) и js-test-driver. Они описаны на wiki проекта и комментариях к ним.
Около года назад смотрел на js-test-driver, штука крутая, но с mootools и prototype не дружит никак. Сейчас глянул, все еще не починили. Рр.
Спасибо. поизучаю.
Хотя для js подобные тесты не очень нужны. Больше интересует тест на интерфейсность(или как это назвать) чем на логику…
Хотя для js подобные тесты не очень нужны. Больше интересует тест на интерфейсность(или как это назвать) чем на логику…
+46, а в закладки 59 отправили )
Хороший пост, радует полнота изложения.
Sign up to leave a comment.
Юнит-тестирование и CodeCoverage для Javascript-кода