2016-01-14 3 views
4

У меня есть проект Java на основе maven, который также содержит некоторые функции javascript, которые я бы хотел проверить. Я использую QUnit (но могу переключиться на другую среду тестирования js), чтобы написать тесты, но я должен выполнить index.html, чтобы увидеть тесты, запущенные в окне браузера.автоматизация тестирования javascript в проекте на основе maven

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

Я уже пытался использовать то, что в настоящее время существует, но большинство решений старые и со сломанной документацией. Самое близкое, что я мог получить, это использовать https://github.com/mxro/java-qunit, но он запускает все тесты js в одном тесте junit и останавливается при первом сбое.

ответ

3

Запуск JS Тестов с Maven

Существует Frontend Maven Plugin, что может вызвать НУЮ команду. Here - пример проекта, который его использует - это демонстрационный проект, который показывает различные типы тестов, поэтому его конфигурация немного сложнее, чем обычно. Это, как вы установите пакеты:

<plugin> 
     <groupId>com.github.eirslett</groupId> 
     <artifactId>frontend-maven-plugin</artifactId> 
     <version>0.0.24</version> 
     <executions> 
     <execution> 
      <id>Install NodeJS and NPM</id> 
      <goals> 
      <goal>install-node-and-npm</goal> 
      <goal>npm</goal> 
      </goals> 
      <configuration> 
      <nodeVersion>v0.12.7</nodeVersion> 
      <npmVersion>2.11.3</npmVersion> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 

Идущие Карма тесты:

 <execution> 
      <id>UI Unit Tests</id> 
      <goals> 
      <goal>karma</goal> 
      </goals> 
      <configuration> 
      <karmaConfPath>${project.basedir}/src/test/unit-js/karma.conf.js</karmaConfPath> 
      <skip>${unit.ui.tests.skip}</skip> 
      </configuration> 
     </execution> 

Запуск тестов Угломеры (через НПМ скрипты):

 <execution> 
      <id>UI Component Tests</id> 
      <goals> 
      <goal>npm</goal> 
      </goals> 
      <phase>test</phase> 
      <configuration> 
      <arguments>run component</arguments> 
      <skip>${component.ui.tests.skip}</skip> 
      </configuration> 
     </execution> 

Комбинированный отчет

сама отчетность не является частью этого плагина. Это ваши JS-структуры (например, Karma, Jasmine), которые отвечают за генерацию отчетов. Вы можете использовать формат xUnit и позволить CI (например, Jenkins) генерировать один отчет из этого. Или используйте инструмент Allure, который имеет адаптеры для многих языков и фреймворков (относительно легко написать свой собственный, если в вашем каркасе нет адаптера).

 Смежные вопросы

  • Нет связанных вопросов^_^