2013-12-18 6 views
1

Я хочу, чтобы конец теста заканчивался угловым, поэтому я пытаюсь запустить встроенный причал.Интеграционный тест со встроенным причалом не работает

Во-первых, я создал эту конф в pom.xml:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.26</version> 
    <configuration> 
    <scanIntervalSeconds>10</scanIntervalSeconds> 
    <stopKey>foo</stopKey> 
    <stopPort>9999</stopPort> 
    <contextPath>/</contextPath> 
    <connectors> 
     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
     <port>29439</port> 
     <maxIdleTime>60000</maxIdleTime> 
     </connector> 
    </connectors> 
    </configuration> 
    <dependencies> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${slf4j.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <version>${logback.version}</version> 
    </dependency> 
    </dependencies> 
    <executions> 
    <execution> 
     <id>start-jetty</id> 
     <phase>pre-integration-test</phase> 
     <goals> 
     <goal>run</goal> 
     </goals> 
     <configuration> 
     <scanIntervalSeconds>0</scanIntervalSeconds> 
     <daemon>true</daemon> 
     </configuration> 
    </execution> 
    <execution> 
     <id>stop-jetty</id> 
     <phase>post-integration-test</phase> 
     <goals> 
     <goal>stop</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

но тест блокируются карма e2e ждет ответа от причала. Если я попытаюсь просмотреть localhost: 29439 ничего.

Как Это очень трудно отлаживать, я пытался обновить до новой версии молы, но это была дорога в ад :(

Для Exemple, следующий конф продолжает давать мне NoClassDefFound ошибку:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>7.6.14.v20131031</version> 
    <configuration> 
    <scanIntervalSeconds>10</scanIntervalSeconds> 
    <stopKey>STOP</stopKey> 
    <stopPort>9999</stopPort> 
    <webApp> 
     <contextPath>/</contextPath> 
    </webApp> 
    <connectors> 
     <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
     <port>29439</port> 
     <maxIdleTime>60000</maxIdleTime> 
     </connector> 
    </connectors> 
    </configuration> 
    <dependencies> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${slf4j.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <version>${logback.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-jsp</artifactId> 
     <version>7.6.14.v20131031</version> 
    </dependency> 
    </dependencies> 
    <executions> 
    <execution> 
     <id>start-jetty</id> 
     <phase>pre-integration-test</phase> 
     <goals> 
     <goal>start</goal> 
     </goals> 
     <configuration> 
     <scanIntervalSeconds>0</scanIntervalSeconds> 
     <daemon>true</daemon> 
     </configuration> 
    </execution> 
    <execution> 
     <id>stop-jetty</id> 
     <phase>post-integration-test</phase> 
     <goals> 
     <goal>stop</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

Любое решение или советы помогут, либо с отладкой 1-й версии или сделать второй вариант работы.

ответ

1

работающий pom.xml для вас.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.eclipse.jetty.demo</groupId> 
    <artifactId>webapp-2.5</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>webapp-2.5 Maven Webapp</name> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <jetty-version>7.6.14.v20131031</jetty-version> 
    <slf4j-version>1.7.5</slf4j-version> 
    <logback-version>1.0.13</logback-version> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <finalName>webapp-2.5</finalName> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>jetty-maven-plugin</artifactId> 
     <version>${jetty-version}</version> 
     <configuration> 
      <scanIntervalSeconds>10</scanIntervalSeconds> 
      <stopKey>STOP</stopKey> 
      <stopPort>9999</stopPort> 
      <webApp> 
      <contextPath>/</contextPath> 
      </webApp> 
      <connectors> 
      <connector 
       implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
       <port>28080</port> 
       <maxIdleTime>60000</maxIdleTime> 
      </connector> 
      </connectors> 
     </configuration> 
     <dependencies> 
      <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4j-version}</version> 
      </dependency> 
      <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback-version}</version> 
      </dependency> 
      <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-jsp</artifactId> 
      <version>${jetty-version}</version> 
      </dependency> 
     </dependencies> 
     <executions> 
      <execution> 
      <id>start-jetty</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start</goal> 
      </goals> 
      <configuration> 
       <scanIntervalSeconds>0</scanIntervalSeconds> 
       <daemon>true</daemon> 
      </configuration> 
      </execution> 
      <execution> 
      <id>stop-jetty</id> 
      <phase>post-integration-test</phase> 
      <goals> 
       <goal>stop</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

Это приведет к запуску/остановке фазы интеграции с настройкой протоколирования, а также к поддержке $ mvn jetty:run на веб-сервере Servlet 2.5.

Рабочий пример

рабочий пример веб-приложение было загружено на GitHub.

https://github.com/jetty-project/jetty-maven-plugin-examples

См WebAPP-2,5 подпроект

Чтобы построить войну

$ mvn clean install 

Чтобы запустить сервер пристани с использованием конфигурации мола-Maven-плагин

$ mvn jetty:run 

Перейти к вашему браузеру и нажать любой из следующих URL-адресов, чтобы увидеть он работает.

  • http://localhost:28080/ - простой HTML ответ от src/main/webapp/index.html
  • http://localhost:28080/time - простой ответ сервлета из org.eclipse.demo.TimeServlet
  • http://localhost:28080/flarnsworth - недействительные ссылок, так что это вызовет <error-page> обработку и возвращает ответ от org.eclipse.jetty.demo.ErrorServlet
  • http://localhost:28080/dump.jsp - a jsp-ответ от src/main/webapp/dump.jsp
+0

Ahhhh ... Мои тесты E2E заблокированы по адресу: Начало кармы /Users/ygrenzinger/Xebia/SFR/sibo360/src/test/resources/karma.e2e.conf --single-run Если я попытаюсь перейти к localhost 29439 ответа нет. И когда я убиваю maven run с помощью Ctrl-C, я вижу эту ошибку: [WARNING] FAILED jsp: java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspApplicationContextImpl java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspApplicationContextImpl – user358501

+0

Ошибка JSP, которую вы видите, не из этого примера pom. (почти) тот же pom находится в примере, который просто загружен для вас. –

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