2016-07-21 31 views
1

我想跳过构建过程,并直接运行测试,当我做运行测试之前Android的gradle跳过构建?

./gradlew connectedDevDebug 

我还可以使用adb命令,但它会在一个时间只有一个deivce运行测试。

+0

开始测试说明为什么你会想要跳过Build,那么你怎么才能获得apk呢?如果默认情况下没有更改,Gradle将跳过Build。 – WenChao

+0

调试和debugAndroidTest apk已经使用./gradlew iDD iDDAT安装。我只是想重新运行测试(没有更改代码)。但是当我做./gradlew cDDAT时,与使用adb命令相比,它需要很多时间。这是一个局部输出, :应用程序:预生成UP-TO-DATE :应用程序:preDevDebugBuild UP-TO-DATE :应用程序:checkDevDebugManifest :应用程序:preDevReleaseBuild UP-TO-DATE :应用程序:preProdDebugBuild UP-TO -date :应用:preProdReleaseBuild UP-TO-DATE ... :应用程序:packageDevDebugAndroidTest :应用程序:assembleDevDebugAndroidTest :应用:installDevDebug ... –

+0

看起来像所有的构建任务是UP-TO-DATE,只应用程序:checkDevDebugManifest重新运行。多久时间?如果你运行cAT,我认为你不能跳过这些步骤,除非你创建了自己的只执行adb命令的gradle任务。 – WenChao

回答

4

目前没有gradle任务只是运行测试。

但是,一旦你已经安装(并运行)测试,你可以(重新)直接使用am instrument命令运行它们。要从开发机器的命令行启动它们,请运行:

adb shell am instrument -w <test_package_name>/<runner_class> 

您可以从AndroidStudio的输出中复制实际的命令。只需从AndroidStudio运行测试,然后滚动到测试日志视图的顶部。

有一个警告,am instrument不会创建任何测试报告。所有测试结果写入stdout。但是,您可以将stdout放入文件中并自行创建报告。即this tool可以从am instrument的输出创建一个xml JUnit测试报告。

如果你已经更改了测试,你可以重建,并与安装:

./gradlew installDebugAndroidTest 

有关详细信息和命令行,你可以参考官方文章Test from the Command Line