首先,我怀疑这并不容易,因为 Maven 中央存储库中没有 calabash-android 的条目,而 calabash-android 项目也没有提供。
话虽如此,有人知道如何在 Maven 构建期间管理 calabash-android 测试吗?有没有这个的插件?我找不到任何东西,但万一我的 google-fu 失败了,或者有解决方法……我很想听听。
[编辑] 我正在使用 maven-android 插件进行 apk 构建。
我假设您熟悉Android Maven 插件?如果没有,你应该检查一下。这是一种不是防弹的方法,但应该有效:
1- 首先编写一个启动 Calabash 测试的 shell 脚本。比如说,这个 shell 脚本calabash.sh
不会太复杂,大致如下:
calabash-android run ../target/<app>.apk /path/to/calabash/tests
maven
2-一旦完成它的阶段就启动这个脚本integration-test
(如果你正在使用Android Maven
,那就是你运行单元测试的时候)。这是取自这个SO问题:
<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 完成构建之前运行直到完成。