使用GrailsMaven插件跳过集成测试
我正在使用Grails2.1.0和Maven 2.1.1。当运行命令使用GrailsMaven插件跳过集成测试,maven,grails,integration-testing,Maven,Grails,Integration Testing,我正在使用Grails2.1.0和Maven 2.1.1。当运行命令mvn clean install生成EAR文件时,Maven会毫无问题地运行单元测试,除了运行两次之外,还会运行集成测试。当进入集成测试阶段时,它抛出一个错误无法加载JDBC驱动程序类'com.ibm.db2.jcc.DB2Driver' 单元测试和集成测试在运行Grails时都会通过,如果我使用-Dmaven.test.skip=true标志构建ear,那么它构建时不会出错,生成的ear会很好地部署到服务器 我正在从1.3.
mvn clean install
生成EAR文件时,Maven会毫无问题地运行单元测试,除了运行两次之外,还会运行集成测试。当进入集成测试阶段时,它抛出一个错误无法加载JDBC驱动程序类'com.ibm.db2.jcc.DB2Driver'
单元测试和集成测试在运行Grails时都会通过,如果我使用-Dmaven.test.skip=true
标志构建ear,那么它构建时不会出错,生成的ear会很好地部署到服务器
我正在从1.3.7升级此项目,该版本在生成时未运行集成测试。它也只运行了一次单元测试,但从我读到的两次单元测试是GrailsMaven插件的一个已知部分。下面是我正在使用的pom
<properties>
<grails.version>2.1.0</grails.version>
<slf4j.version>1.6.6</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-dependencies</artifactId>
<version>${grails.version}</version>
<exclusions>
<exclusion>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</exclusion>
</exclusions>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-plugin-testing</artifactId>
<version>${grails.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>mail</artifactId>
<version>1.0.1</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>jquery</artifactId>
<version>1.7.2</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>resources</artifactId>
<version>1.1.6</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>webxml</artifactId>
<version>1.4.1</version>
<scope>runtime</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-hibernate</artifactId>
<version>${grails.version}</version>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>hibernate</artifactId>
<version>${grails.version}</version>
<scope>compile</scope>
<type>zip</type>
</dependency>
</dependencies>
<build>
<pluginManagement />
<plugins>
<!-- Disables the Maven surefire plugin for Grails applications, as we have our own test runner -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>surefire-it</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>plugins</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<configuration>
<!-- Whether for Fork a JVM to run Grails commands -->
<fork>false</fork>
</configuration>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>init</goal>
<goal>maven-clean</goal>
<goal>validate</goal>
<goal>config-directories</goal>
<goal>maven-compile</goal>
<goal>maven-test</goal>
<goal>maven-war</goal>
<goal>maven-functional-test</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.1.0
1.6.6
org.grails
grails依赖项
${grails.version}
com.h2数据库
氢
聚甲醛
org.grails
grails插件测试
${grails.version}
测试
org.grails.plugins
邮件
1.0.1
运行时
拉链
org.grails.plugins
jquery
1.7.2
运行时
拉链
org.grails.plugins
资源
1.1.6
运行时
拉链
org.grails.plugins
webxml
1.4.1
运行时
拉链
org.grails
圣杯冬眠
${grails.version}
org.grails.plugins
冬眠
${grails.version}
编译
拉链
org.apache.maven.plugins
maven surefire插件
真的
当然可以
集成测试
测试
假的
org.apache.maven.plugins
maven清洁插件
2.4.1
插件
**/*
假的
org.grails
GrailsMaven插件
${grails.version}
假的
真的
初始化
马文清洁
验证
配置目录
maven编译
马文试验
马文战争
maven功能测试
我尝试过删除
maven功能测试
目标,以及整个执行部分,但无论哪种方式都遇到了相同的问题。有什么想法吗?我尝试使用maven故障保护插件
并添加到我的pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.10</version>
<configuration>
<skipITs>true</skipITs>
</configuration>
</plugin>
org.apache.maven.plugins
maven故障保护插件
2.10
真的
但是mvn clean install仍然运行功能测试。不知道grails为什么这么固执
我真正关心的是跳过grails maven功能测试,也许对于您的情况,您可以尝试:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
</excludes>
</configuration>
org.apache.maven.plugins
maven surefire插件
**/*IntegrationTest.java
如果有人偶然发现本文,最终找到了跳过grails maven功能测试的方法。它需要maven 2.2或更高版本,并将其添加到pom.xml中:
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>default-maven-functional-test</id>
<phase>integration-test</phase>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
org.grails
GrailsMaven插件
${grails.version}
真的
默认maven功能测试
集成测试
真的