2016-08-29 119 views
0

我想测试我的应用程序vaadin测试平台,但是当我尝试使用测试上Vaadin与测试平台

MVN清洁运行我的测试验证,他不`吨开始我的服务器来执行测试,我使用此示例: https://vaadin.com/docs/-/part/testbench/testBench-tutorial.html这是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>br.com.lumera</groupId> 
    <artifactId>integra</artifactId> 
    <packaging>war</packaging> 
    <version>1.0</version> 
    <name>integra</name> 

    <prerequisites> 
     <maven>3</maven> 
    </prerequisites> 

    <properties> 
     <vaadin.version>7.7.0</vaadin.version> 
     <vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version> 
     <vaadin.testbench.version>4.1.0.alpha2</vaadin.testbench.version> 
     <jetty.plugin.version>9.3.9.v20160517</jetty.plugin.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
     <!-- If there are no local customisations, this can also be "fetch" or 
      "cdn" --> 
     <vaadin.widgetset.mode>local</vaadin.widgetset.mode> 
    </properties> 

    <repositories> 
     <repository> 
      <id>vaadin-addons</id> 
      <url>http://maven.vaadin.com/vaadin-addons</url> 
     </repository> 
     <repository> 
      <id>vaadin-snapshots</id> 
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> 
      <releases> 
       <enabled>false</enabled> 
      </releases> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>vaadin-snapshots</id> 
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> 
      <releases> 
       <enabled>false</enabled> 
      </releases> 
      <snapshots> 
       <enabled>true</enabled> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>com.vaadin</groupId> 
       <artifactId>vaadin-bom</artifactId> 
       <version>${vaadin.version}</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
        <!-- Exclude an unnecessary file generated by the GWT compiler. --> 
        <packagingExcludes>WEB-INF/classes/VAADIN/widgetsets/WEB-INF/**</packagingExcludes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>com.vaadin</groupId> 
       <artifactId>vaadin-maven-plugin</artifactId> 
       <version>${vaadin.plugin.version}</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>update-theme</goal> 
          <goal>update-widgetset</goal> 
          <goal>compile</goal> 
          <!-- Comment out compile-theme goal to use on-the-fly theme compilation --> 
          <goal>compile-theme</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-clean-plugin</artifactId> 
       <version>3.0.0</version> 
       <!-- Clean up also any pre-compiled themes --> 
       <configuration> 
        <filesets> 
         <fileset> 
          <directory>src/main/webapp/VAADIN/themes</directory> 
          <includes> 
           <include>**/styles.css</include> 
           <include>**/styles.scss.cache</include> 
          </includes> 
         </fileset> 
        </filesets> 
       </configuration> 
      </plugin> 

      <!-- The Jetty plugin allows us to easily test the development build by 
       running jetty:run on the command line. --> 
      <plugin> 
       <groupId>org.eclipse.jetty</groupId> 
       <artifactId>jetty-maven-plugin</artifactId> 
       <version>${jetty.plugin.version}</version> 
       <configuration> 
        <scanIntervalSeconds>2</scanIntervalSeconds> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>org.jboss.resteasy</groupId> 
      <artifactId>resteasy-jackson2-provider</artifactId> 
      <version>3.0.19.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.resteasy</groupId> 
      <artifactId>resteasy-client</artifactId> 
      <version>3.0.19.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-testbench-api</artifactId> 
      <version>${vaadin.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.vaadin.addons</groupId> 
      <artifactId>ckeditor-wrapper-for-vaadin</artifactId> 
      <version>7.10.9</version> 
     </dependency> 
     <dependency> 
      <groupId>org.vaadin.addon</groupId> 
      <artifactId>easyuploads</artifactId> 
      <version>7.4.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.vaadin.addons</groupId> 
      <artifactId>vaadin-grid-util</artifactId> 
      <version>1.0.8</version> 
     </dependency> 
     <dependency> 
      <groupId>de.steinwedel.vaadin.addon</groupId> 
      <artifactId>messagebox</artifactId> 
      <version>3.0.17</version> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-testbench</artifactId> 
      <version>4.1.0.alpha2</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.vaadin.addons</groupId> 
      <artifactId>vaadin-combobox-multiselect</artifactId> 
      <version>1.1.11</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.0.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-server</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-push</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-client-compiled</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.vaadin</groupId> 
      <artifactId>vaadin-themes</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.google.guava</groupId> 
      <artifactId>guava</artifactId> 
      <version>19.0</version> 
     </dependency> 
    </dependencies> 



    <profiles> 
     <profile> 
      <!-- Vaadin pre-release repositories --> 
      <id>vaadin-prerelease</id> 
      <activation> 
       <activeByDefault>false</activeByDefault> 
      </activation> 

      <repositories> 
       <repository> 
        <id>vaadin-addons</id> 
        <url>http://maven.vaadin.com/vaadin-addons</url> 
       </repository> 
       <repository> 
        <id>vaadin-prereleases</id> 
        <url>http://maven.vaadin.com/vaadin-prereleases</url> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>vaadin-prereleases</id> 
        <url>http://maven.vaadin.com/vaadin-prereleases</url> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 

</project> 

但我注意到,当之前的运行测试,我测试通过启动我的服务器,但运行测试后,他试图启动我的服务器

我把原创开始/停止码头

<plugin> 
       <groupId>org.eclipse.jetty</groupId> 
       <artifactId>jetty-maven-plugin</artifactId> 
       <version>${jetty.plugin.version}</version> 
       <configuration> 
        <scanIntervalSeconds>2</scanIntervalSeconds> 
       </configuration> 
      </plugin> 

但是不工作。

回答

0

我没有在链接文档的“自动启动服务器”部分中看到任何Jetty配置。与集成前测试/集成后测试阶段相关的启动和停止目标将负责在集成测试运行之前启动服务器并在之后停止。

最后,您需要确保您的测试运行在集成测试阶段,而不是在单元测试阶段。如果它们在单元测试阶段运行,则预集成测试阶段尚未执行且服务器尚未启动。将您的测试命名为SomethingIT.java(而不是SomethingTest.java)以确保它在集成测试阶段运行。

+0

我更新了问题,我把原始开始/停止码头,我试图与mvn运行干净验证(只是网站说)如果我运行mvn码头:运行服务器正常启动 –

+0

我仍然无法看到在您的pom.xml中预集成测试/后集成测试部分,所以服务器不会自动启动 –