2016-07-21 33 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