Для Javascript существуют некоторые тестовые рамки, такие как JSUnit или js-test-driver. Они в порядке, но они запускают тесты в браузере. Это нормально, особенно для проверки того, что ваш webapp работает в разных браузерах. Но на сервере непрерывной интеграции нет установленной оконной системы (и без браузера). Итак, есть ли способ запустить тесты без использования браузера? Лучше всего было бы использовать одну из существующих фреймворков, чтобы разработчики могли локально запускать тесты в своих браузерах, а система непрерывной интеграции запускает их без браузера.Какая тестовая среда для Javascript поддерживает тестирование без браузера?
ответ
jsTest может быть запущена в командной строке или в виде плагина eclipse.
Однако будьте осторожны, вы не получите покрытие 100% кода с помощью такого инструмента, если вам нужно поддерживать несколько браузеров. Каждый браузер реализует JavaScript по-разному (то есть: IE). Таким образом, единственный способ полностью протестировать ваш JavaScript - запустить тесты во всех поддерживаемых браузерах.
Я не уверен, почему вы говорите, что не можете получить 100% -ный охват. Покрытие означает, что код запускается. Проблема, которую вы указываете (совместимость между браузерами), заключается в том, что один и тот же код может означать (и делать) разные вещи в разных средах исполнения. Следствием этого является то, что если у вас есть 100% -ый охват в Firefox, это может не рассказать вам все, что вы хотите знать о поведении кода в IE. Вы можете получить 100% -ый охват, не получив 100% знаний.(И даже 100% охват во всех браузерах - это не то же самое, что 100% -ное знание, но это другая проблема.) –
Это было 5 лет назад. Тогда веб-разработка была заполнена зависящими от браузера бифуркациями, поскольку API были настолько разрозненными. Если вы запустили свой тест в Firefox, какой-то из командной строки и т. Д., Вы не смогли выполнить _any_ кода в другой ветке, которая обрабатывала другой браузер. Поскольку вы оставляете половину ваших филиалов непроверенными, вы не можете требовать 100% покрытия кода. В наши дни пейзаж много отличается. Я, честно говоря, не могу вспомнить последний раз, когда мне приходилось делать разные вещи для разных браузеров. – geowa4
Я считаю, что Canoo WebTest можно запускать без браузера. Это в основном рамочный интерфейс тестирования, но может быть использован для тестирования JavaScript, а также:
JSpec может быть работать без браузера (используя Rhino). Но также поддерживается запуск в браузерах.
http://visionmedia.github.com/jspec/
Он также обеспечивает хороший синтаксис спецификации стиля:
describe 'ShoppingCart'
describe 'addProduct'
it 'should add a product'
cart.addProduct('cookie')
cart.addProduct('icecream')
cart.should.have 2, 'products'
end
end
end
Выполнив все модульные тесты вне браузера, вы также получаете преимущество обеспечения разделения вашей логики от HTML/презентационный уровень (полезен для веб-приложений, возможно, излишний для небольших скриптов).
Проект jspec мертв и, прежде чем их сайт исчезнет целиком, вместо этого рекомендовал Жасмин. http://stackoverflow.com/questions/3912312/jspec-no-longer-supported –
Жасмин будет работать вполне счастливо внутри node.js.
Взгляните на следующие статьи:
Кроме того, у нас есть сервер jsTestDriver работает с несколькими веб-браузеров (как удаленной консоли бегунами) как ресурс для Jenkins, поэтому вы можете иметь CI с тестированием в веб-браузерах.
- 1. , какая модульная тестовая среда для PHP: simpletest, phpunit или?
- 2. Какая модульная тестовая среда для C++?
- 3. Какая среда поддерживает Wingdings?
- 4. Какая среда JavaScript поддерживает Visual Studio?
- 5. тестовая среда для ардуино?
- 6. Есть ли какая-либо среда или тестовая среда AWS?
- 7. Интеграционная тестовая среда?
- 8. Есть ли какая-либо «веб-тестовая среда SQL»?
- 9. Тестовая среда и тестовая база данных
- 10. Twitter Загрузочная тестовая среда
- 11. Поддерживает ли тестовая среда Boost поддержку тестовых зависимостей?
- 12. симулятор или тестовая среда для веб-приложения
- 13. Веб-тестовая среда для мобильных и серверных браузеров
- 14. Любая тестовая среда javascript с поддержкой браузера и одним тестовым прогоном?
- 15. Сервисная лаборатория Лазурная тестовая среда
- 16. ADFS & Shibboleth Sp тестовая среда
- 17. PhpStorm «Тестовая среда неожиданно завершена»
- 18. C# Модульная тестовая среда для Visual Studio?
- 19. Автоматическая тестовая среда для мобильных приложений (BDD)
- 20. Явная тестовая среда для Selenium RC
- 21. Есть ли тестовая среда QuickBooks Online Edition?
- 22. Производственная/тестовая среда простой вопрос
- 23. Какая C-модульная тестовая платформа?
- 24. Symfony2 тестовая среда доступа по субдомену?
- 25. Внутренняя тестовая среда - вызов REST API
- 26. Тестовая среда не копирует мои файлы
- 27. DB logging in Rails тестовая среда
- 28. Есть ли какая-либо общая интеграционная тестовая среда для приложения консоли java?
- 29. C# тестовая среда, которая работает как JUnit в Eclipse?
- 30. Какая графическая среда?
Это не ответ на ваш вопрос, но я бы предложил проверить вещь в реальном браузере. Это то, что будут видеть конечные пользователи, поэтому это нужно протестировать. На какой ОС установлен CI? –
CI установлен на linux, но без X. Поэтому тестирование в браузере невозможно на CI-сервере. В браузерах он все равно будет протестирован разработчиками, но я хочу добавить тесты также в CI. – Mnementh
Как насчет phantomjs? – ShrekOverflow