Подтвердить что ты не робот

Как мы можем запускать JavaScript jasmine тесты от Jenkins (Hudson) без загрузки JSP?

У нас есть богатый веб-клиент. Наши контроллеры и служебные фасады написаны в coffeescript (JavaScript) и jquery. Раньше они были бы java.

Чтобы запустить тесты JavaScript jasmine от Jenkins/Hudson, мы используем java junit и htmlunit для загрузки тестовой ориентированной страницы jsp, которая включает спецификации жасмина.

Когда Htmlunit пытается запустить, он взрывается, пытаясь getPage(), вероятно, из-за пути класса парсера XML, который чрезвычайно сложно отслеживать в нашем мире.

Мы просто хотим иметь возможность запускать тесты JavaScript от Jenkins и сообщать об ошибке, если тест JavaScript не проходит. Мы просто используем jsp и htmlunit для запуска тестов JavaScript. Можем ли мы загружать JavaScript-тесты и javascript-код в механизм JavaScript с Jenkins, как то, что его отключает? Если да, то как?

4b9b3361

Ответ 1

Похоже, вы находитесь в среде Java. Мой jasmine-maven-plugin может быть хорошо подходит.

Ответ 2

Жасмин Репортеры также будут решением. Он имеет инструкции для безгласного использования с помощью PhantomJS, например, и может генерировать JUnit XML, поэтому Дженкинс может понять результаты теста изначально, графическое число тестов, продолжительность и неудачу с течением времени.

Кроме того, обертка "xvfb-run", которая часто снабжается xvfb, здесь очень помогает, поэтому вы можете сделать "xvfb-run phantomjs.runner.sh..." в поистине безголовой среде.

Ответ 3

Я ранее решил эту проблему, выполнив тесты с помощью плагина node.js, который называется jasmine-node

Это решение, конечно, требует node.js и нескольких модулей node для правильного запуска тестов жасмина. Настоящий браузер не запускает тесты, а эмулируется с помощью модуля jsdom, который в основном создает безгласный браузер и, более конкретно, DOM, с которыми могут взаимодействовать тесты.

Там node модули для jQuery, underscore и propably другие тоже, поэтому они также могут быть протестированы. Вы даже можете пропустить эмуляцию всего браузера, если вы предпочитаете запускать тесты в браузере, хотя я считаю это слишком громоздким по сравнению с автоматизированным тестированием Jenkins.

jasmine- node генерирует отчеты об ошибках jUnit, которые Дженкинс может интерпретировать просто отлично.

Я только понял, что есть плагин jenkins-jasmine-node, который может облегчить этот процесс.

Ответ 4

Грунт - ваш друг

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

Ответ 5

Можете ли вы использовать селен? Это фактически использует настоящий браузер и максимально приближается к реальной среде.