Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2009, 17:02
krvwd
 
Сообщений: n/a

Юнит-тесты на javascript? Реально ли?
Хочу написать юнит тесты для web-приложения, но сталкиваюсь с такой вещью:

Надо, например, заполнить форму и отправить ее. Пишем код:

form = $("#form1").get(0)
form['name'] = 'ляляля'
form.submit()

А дальше - элементарщина: если дожидаться события onload, и вешать на него анонимную функцию, то код будет выглядеть как куча вложенных друг в друга анонимных функций, вешающихся на одно и то же событие. Ну и по мелочи - проблемы типа кросс-доменного скриптинга, который рестриктед.

Есть ли инструментарий, позволяющий создавать javascript юнит-тесты, например, под firefox, в процедурном стиле?
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2009, 18:11
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Первую часть вашего сообщения не понял совершенно.

Про юнит-тесты, я одно время тоже загорелся идеей tdd разработки на JavaScript. Инструментария, скажем так, совсем не густо. Из более-менее приемлемых я нашел только JSUnit, который, кстати, отдельно поставляется в виде удобного плагина для платформы eclipse.

Ну еще можно отдельно отметить Selenium, правда я его у себя поднять так и не смог.

Последний раз редактировалось Андрей Параничев, 26.01.2009 в 18:15.
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2009, 10:07
vkwrd
 
Сообщений: n/a

Сообщение от Андрей Параничев Посмотреть сообщение
Первую часть вашего сообщения не понял совершенно.
Что делаем:

1) Загружаем в iframe форму логина
2) Заполняем поля login и password
3) Запускаем form.submit()

Проблемы, с которыми я столкнулся:

1) Как дождаться события onload внутри iframe, чтобы продолжить тестирование, при этом не запихивая вторую половину теста в анонимную фукнцию, подвешиваемую в качестве обработчика этого onload?
2) iframe с тестами должен находиться в том же домене, что и тестируемый сайт => невозможно средствами javascript протестировать случай "не упал ли сервер".
3) Невозможно средствами javascript узнать полученные от сервера HTTP заголовки.
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2009, 17:09
Аватар для Pavel_Volodko
Интересующийся
Отправить личное сообщение для Pavel_Volodko Посмотреть профиль Найти все сообщения от Pavel_Volodko
 
Регистрация: 02.03.2009
Сообщений: 20

Не так давно появился отличный инструмент для модульного тестирования (unit testing) JsTestDriver. Вот, написал небольшой обзор. Впечатления от использования только положительные. Рекомендую попробовать.

Кстати, описываемый пример в первом посте не является юнит-тестом. Это скорее функциональный тест.
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2009, 17:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

К сожалению большинство js-кода юнит-тестами не покроешь.
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2009, 17:43
Аватар для Pavel_Volodko
Интересующийся
Отправить личное сообщение для Pavel_Volodko Посмотреть профиль Найти все сообщения от Pavel_Volodko
 
Регистрация: 02.03.2009
Сообщений: 20

Это всё очень специфично. Код бывает разный.

Главное, что меня лично радует, что появляются отличные инструменты для javascript-разработчиков. И уже есть из чего выбирать под свои конкретные нужды.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Современная книга по JavaScript twolf Оффтопик 18 21.02.2009 01:20
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Компании Яндекс нужен Javascript гуру Yandex Работа 17 16.12.2008 16:46
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43