I am using Surefire and Failsafe to perform unit testing and integration
testing respectively. In the latter case, I want to run a sql script in the
pre-integration-test phase to put the database into a known state (not using
DBUnit but the same idea). Here is what I have in my pom:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>pre-integration-test</phase>
<configuration>
<tasks>
<sql driver="${db.driver}"
url="${db.url}"
userid="id"
password="pwd"
src="${sql.dir}/script.sql">
<classpath>
<pathelement
location="${user.home}/.m2/repository/com/oracle/jdbc/ojdbc6/11.1.0.7.0/ojdbc6-11.1.0.7.0.jar"/>
</classpath>
</sql>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>failsafe-maven-plugin</artifactId>
<version>2.4.3-alpha-1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
The problem is that when I run verify, I get the following:
[sql] Executing resource: C:\myapp\sql\script.sql
Process finished with exit code 0
In other words, the script executes just fine, but then nothing else
happen--namely, the tests don't run.
Any insight into what I need to tweak to get my tests to run after the script
executes is much appreciated.
Thanks.