2010-09-28 3 views

ответ

5

Rhino и Spidermonkey предоставляют автономные интерпретаторы, но вам нужно будет найти реализацию DOM, если вы хотите протестировать манипуляции с DOM, и вам нужно будет протестировать в любых браузерах, на которые вы нацеливаетесь в любом случае (не все JS-двигатели созданы равными).

+2

«не все двигатели JS созданы равными» - это очень важный момент. Если вы ожидаете, что ваш JavaScript будет запущен в браузере, вы захотите проверить его в браузере. –

0

Да, следует. Поскольку стандарт не соблюдается, каждый браузер может вести себя в зависимости от вашего кода. Так что лучше протестировать его в браузерах.

1

JavaScript сам по себе является не более чем просто языком. Это бесполезно без объектной модели. Вы можете создавать циклы, функции и т. Д., Но вам нужно работать с тем, что у вас есть в конкретной среде JavaScript. Например, если вы используете Windows Script Host - вы получаете только консольный ввод и вывод. Если вам нужна веб-среда - документ, окно, тело, метод getElementById - вам нужна среда, которая предоставляет все эти объекты. И веб-браузеры делают все возможное.

2

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

Это говорит о том, что я (и, вероятно, большинство разработчиков), как правило, придерживаюсь одного браузера для работы главного разработчика и только время от времени переключается на другие для тестирования.

Что касается командной строки Javascript, мой любимый способ сделать это - использовать Firebug, который является плагином для браузера Firefox, чтобы помочь разработчикам отладить свой Javascript-код. Он имеет консольный режим, который вы можете использовать для выполнения произвольного кода javascript, который может быть очень удобным для отладки (у него есть много других потрясающих функций, если вы еще не пробовали его, я серьезно рекомендую его).

1

Если вы используете JavaScript для веб-сайта клиента, вы можете автоматизировать JS-тесты с помощью Selenium. В зависимости от вашей платформы (PHP, Ruby, Java) и структуры (например, Ruby on Rails ...) у вас не должно быть проблем, чтобы найти правильное привязку интеграции.

Selenium запускает браузер в фоновом режиме и выполняет все тесты с ним. Усиление здесь заключается в том, что ваши тесты без присмотра и против реального браузера вы выбрали: Firefox, IE, Opera, а не какой-то ограниченный переводчик.

Вы также можете запустить Selenium headlessly - без открытия окна браузера.

Если вы не хотите использовать селен, вы можете попробовать другие alternatives.

+0

Это все еще проверяет JavaScript в браузере, хотя (хотя и автоматически). –

+0

@ Ludvico ok, но OP - JS beginner, и кажется, что использование браузера для проверки, я полагаю, щелкнув, это хлопот для него/нее. И как вы собираетесь правильно тестировать JS, предназначенную для браузера, но без использования браузера? Вы можете проверить синтаксис, сделать некоторые издевки, но что с DOM, событиями и т. Д.? – gertas