Статьи

WebTest с Groovy, Maven и Eclipse

На самом деле WebTest является «всего лишь» набором
задач
Ant, поэтому неудивительно, что тесты WebTest традиционно написаны на XML.
Плагин Grails WebTest показал, что Groovy может быть очень приятной альтернативой благодаря
AntBuilder . Даже если вы не используете Grails, вы можете писать тесты WebTest в Groovy, используя поддержку, предоставляемую дистрибутивом WebTest, но если вы планируете писать все свои тесты в Groovy, это, безусловно, не оптимально. В этом посте шаг за шагом показан способ написания тестов WebTest, близких к традиционной настройке модульных тестов с использованием Groovy и
Maven .

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

  1. Создать новый проект Maven
  2. Редактировать сгенерированный pom.xml
    1. Добавьте WebTest как зависимость:
          <dependencies>  
      ...
      <dependency>
      <groupId>com.canoo.webtest</groupId>
      <artifactId>webtest</artifactId>
      <version>3.1-SNAPSHOT</version>
      </dependency>
      </dependencies>
    2. Добавьте ссылку в репозиторий моментальных снимков WebTest Maven. Обратите внимание, что это необходимо, только если вы хотите использовать последний моментальный снимок WebTest (который всегда лучший). Вам это не нужно, если вы используете версию, которая доступна в центральном хранилище. По состоянию на 30 апреля WebTest 3.0 не был загружен в центральный репозиторий. Запрос на загрузку доступен здесь: MAVENUPLOAD-2439 .

    3. Настройте плагин GMaven
          <build>  
      <plugins>
      <plugin>
      <groupId>org.codehaus.groovy.maven
      </groupId>
      <artifactId>gmaven-plugin</artifactId>
      <version>1.0-rc-5</version>
      <executions>
      <execution>
      <goals>
      <goal>compile</goal>
      <goal>testCompile</goal>
      </goals>
      </execution>
      </executions>
      </plugin>
      <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <executions>
      <execution>
      <id>add-test-source</id>
      <phase>generate-sources</phase>
      <goals>
      <goal>add-test-source</goal>
      </goals>
      <configuration>
      <sources>
      <source>src/test/groovy</source>
      </sources>
      </configuration>
      </execution>
      </executions>
      </plugin>
      </plugins>
      </build>


  3. Создать проект Eclipse
    mvn -Declipse.downloadSources=true eclipse:eclipse  

    Я думаю, что нечто подобное существует для других IDE.

  4. Импортируйте проект в ваше рабочее пространство
  5. Добавление поддержки Groovy в IDE
    Поддержка Groovy в Eclipse не так хороша, как в других IDE, но лучше, чем ничего.
  6. Напишите свой первый веб-тест в Groovy src / test / groovy / my / domain / FirstWebTest.groovy
  7. Запустить тест
    • Как обычный модульный тест из IDE
      Так как это обычный модульный тест, вы можете использовать для этого поддержку IDE. В Eclipse это можно сделать щелчком правой кнопки мыши / Run As … / Junit Test или сочетанием клавиш Alt + Shift + XZ
    • Или из командной строки
  8. Наслаждайтесь результатами!
    Такой запуск WebTest создает «нормальные» отчеты JUnit, а также традиционные отчеты WebTest, содержащие точную информацию для быстрого поиска причины неудачных тестов.
  9. (необязательно) Запуск без
    заголовка По умолчанию WebTest отображает консоль, которая информирует о запущенных тестах и ​​открывает отчеты в вашем браузере после их завершения. Это часто полезно на рабочей станции, но может сильно раздражать на сервере сборки. Чтобы избежать этого, вам просто нужно установить свойство wt.headless:
    mvn test -Dwt.headless