在Maven构建期间运行calabash-android测试

时间:2013-08-01 02:23:03

标签: maven calabash

首先,我怀疑这并不容易,因为在Maven中央存储库中没有calabash-android的条目,而calabash-android项目没有提供。

话虽如此,有没有人知道如何在Maven构建期间管理calabash-android测试?这有插件吗?我找不到任何东西,但是有机会我的google-fu失败了我或者有一个解决方法......我很想听听它。

[edit]我正在为apk版本使用maven-android插件。

1 个答案:

答案 0 :(得分:1)

我假设你熟悉Android Maven plugin?如果没有,你应该检查出来。这是一种非防弹的方法,但应该有效:

1-首先编写一个启动Calabash测试的shell脚本。这个shell脚本,比如说calabash.sh,不会太复杂,只需要:

calabash-android run ../target/<app>.apk /path/to/calabash/tests

2- maven完成integration-test阶段后,启动此脚本(如果您使用的是Android Maven,那就是运行单元测试时)。这取自this SO question

<plugin>
  <artifactId>exec-maven-plugin</artifactId>
  <groupId>org.codehaus.mojo</groupId>
  <executions>
    <execution>
      <id>Version Calculation</id>
      <phase>validate</phase> //This occurs [after integration-test][3]
      <goals>
        <goal>exec</goal>
      </goals>
      <configuration>
        <executable>${basedir}/scripts/calabash.sh</executable>
      </configuration>
    </execution>
  </executions>
</plugin>

这不是一个防弹解决方案,因为我怀疑Maven无法报告任何葫芦测试失败。此外,您可能需要添加一些bash魔法,以使脚本在Maven完成构建之前运行直到完成。