2015-01-04 3 views
0

Я провел часы, пытаясь создать автоматизированную среду для тестирования моего AngularJS приложений, которые я могу работать с Maven (захватывая результаты в бамбуке)Как создать автоматизированную среду тестирования для AngularJS

Поиск Google показывает основу в изобилии, основанные на Jasmine, Karma и общие рамки JavaScript.

Но по какой-то причине установка их никогда не идет так, как описано.

Может ли кто-нибудь указать мне на набор загрузок, которые я могу установить вручную в соответствующие каталоги, которые будут просто выполнять мои модульные тесты?

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

ответ

1

Тестирование javascript не совсем зрелая вещь, поэтому для этого не существует большого разнообразия хороших инструментов. Жасмин и Карма - это лучшие в настоящее время способы сделать это.

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

  • nodejs
  • НПМ (узел менеджера пакетов)
  • Беседки (с помощью NPM)
  • жасмин и карму с помощью становой
  • phantomjs, и независимо от других зависимостей, которые вам нужны javascript (предположительно угловые)

Затем вы можете выполнить тесты.

Я нашел этот пакет для мавенно с некоторым кратким Googling, но бог знает, как настроить:

http://searls.github.io/jasmine-maven-plugin/

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

+0

Спасибо, я в значительной степени зашел так далеко, но препятствие - это ваш шаг 5. Добавление углового, поскольку зависимость терпит неудачу, потому что угловые скрипты зависят от оконного объекта, который не работает, когда вы не работаете в браузере. –

+0

Обычно файл конфигурации karmas обрабатывает модули загрузки, такие как угловые для вас. Вы использовали Карму и как выглядела конфигурация? –

+0

Да, я пытался использовать Карму. Угловое семя поставляется с karma.conf.js. Из корня корня семян я запускаю npm install, который запускает http-сервер на порте 8000, и я вижу это вращение. (localhost: 8000 из браузера дает мне список каталогов моего проекта). Затем я запускаю новую командную оболочку (работает в Mac-Linux) и запускаю транспортир npm.Это вращается в течение нескольких минут, затем отчитывается с статусом выхода из таймаута в стеке = 8 и необычным сообщением:^ Ошибка: время ожидания для сервера WebDriver по адресу http://192.168.1.3:61154/wd/hub. Не уверен, почему он использует этот порт 61154. –

1

вы можете использовать, например, yeoman или angular-seed. для обоих потребуется nodejs и, возможно, ruby. оба установят вас с фантомами, жасмином, кармой, беседкой и многими другими. однако я бы избегал сочетания этой сборки с maven. Имхо это далеко не идеально. Инструменты java никогда не будут такими же хорошими, как встроенные js-инструменты для создания js-проекта. если вы действительно хотите комбинировать сборки, используйте java только для вызова nodejs и ничего больше

+0

Я пробовал Yeoman, но это было не так рано во время установки Phantom. Я попробовал это на Windows 7 и Mac, оба с тем же результатом. Угловое семя неработало при запуске Транспортера –