Springboot故障安全多模块集成测试

时间:2017-12-18 13:15:17

标签: spring-boot web-applications integration-testing multi-module maven-failsafe-plugin

我必须使用故障安全运行集成测试,我的项目是一个多模块项目,其中一个模块用于selenium测试,另一个模块用于实际的Web应用程序。

我想运行网络应用,然后测试此应用,然后停止此应用并获取集成测试的报告。

为了做到这一点,我在硒测试模块的pom中使用了这个:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>reserve-tomcat-port</id>
        <goals>
          <goal>reserve-network-port</goal>
        </goals>
        <phase>process-resources</phase>
        <configuration>
          <portNames>
            <portName>tomcat.http.port</portName>
          </portNames>
        </configuration>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.5.9.RELEASE</version>
    <executions>
      <execution>
        <id>pre-integration-test</id>
        <goals>
          <goal>start</goal>
        </goals>
        <configuration>
          <includes>
            <include>
              <groupId>com.example</groupId>
              <artifactId>web-app</artifactId>
            </include>
          </includes>
          <mainClass>com.example.App</mainClass>
          <arguments>
            <argument>--server.port=${tomcat.http.port}</argument>
          </arguments>
        </configuration>
      </execution>
      <execution>
        <id>post-integration-test</id>
        <goals>
          <goal>stop</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <configuration>
      <systemPropertyVariables>
        <test.server.port>${tomcat.http.port}</test.server.port>
      </systemPropertyVariables>
    </configuration>
  </plugin>

我得到的错误是找不到主类:

java.lang.ClassNotFoundException: App

感觉就像在selenium测试中我无法访问webapp classPath,看起来它试图运行selenium测试主要而不是webapp的一个

0 个答案:

没有答案