私はAndroidスタジオのAndroidTestsディレクトリの下でいくつかのアンドロイド計測テストを行っています。もちろん、私は手動でテストを実行することができますが、各ビルド後にスイート内のすべてのテストを実行する必要があります(通常のデバッグビルドではなく、ビルドのリリース)。新しいアプリのapkをリリースする前に、新しいコードをテストと照合して検証したいので、これを行う必要があります。どうやってするか?私はそれをGoogleにしましたが、まだ適切な解決策を見つけられませんでした。各リリースビルドの前に、gradleを使ってAndroidテストを実行する方法は?
答えて
最後に私はそれをやりました。私はリリースAPKを構築する際に、すべてのAndroidのテストを実行することができるよということやった後
// execute android tests before realising a new apk
tasks.whenTaskAdded { task ->
if (task.name == 'assembleRelease')
task.dependsOn('connectedAndroidTest')
}
android {
signingConfigs {
release {
keyAlias 'key'
keyPassword 'password'
storeFile file('/path/to/release_keystore.jks')
storePassword 'password'
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
}
}
:私は私のAndroid Studioプロジェクトでの私のbuild.gradleファイルに次の設定を追加しました。テストに失敗した場合、apkは構築されません。
私はある特定のトピック:Continuous Integration
で潜水するべきだと思います。
これは、すべてのビルドやコミット後にテストスイートを実行し、バリエーションを作成し、Google Playなどで公開することができます。古典的なJenkins CI
で始まります。ユーザーフレンドリーなツールですが、Travis
またはCircle CI
と比較して、巨大な設定の可能性、素敵なアプリコミュニティがあり、無料で使用できます。この記事で
スタート:http://www.vogella.com/tutorials/Jenkins/article.html
その他のツール:私はすでに私のGithub
プロジェクトのためTravis
を使用していますが、Circle CI
またはGreen House CI
も良い選択かもしれません。
は、それはあなたがdependsOn
メソッドを使用して、タスクの依存関係を定義することができ、一般的には
を助けることを願っています。
例えば:
assemble.dependsOn test
をあなただけのリリースのための依存関係を指定したい場合:
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
あなたが指定することができますあなたのケースでは
> gradle -q B
Hello from A
Hello from B
を取得しますビルド:
assembleRelease.dependsOn test
用途:
connectedAndroidTest
接続エミュレータやデバイス上でテストを実行します。
test
ローカルホストで単体テストを実行します。
私はそれのような何かを考えるが、 "テスト"ですか?グラデルによって認識されません。私はそれをどこかに指定する必要がありますか? – Daniele
@Danieleユニットテストを実行するためにテストを使用するか、アンドロイドテストを実行するconnectedAndroidTest –
okこれを追加しました:tasks.whenTaskAdded {task-> if(task.name == 'assembleRelease') task.dependsOn( 'connectedAndroidTest' ) }これで動作するようですが、問題は署名証明書の問題でテストが実行されないことです。問題はconnectedAndroidTestが "リリース"タイプのビルドではなく "ビルド"タイプに対してテストを実行することです。詳細はこちら:http://stackoverflow.com/questions/23923218/android-gradle-running-tests-on-non-debug-builds今何をすべきか明確ではない。 – Daniele
- 1. テストを実行する前にAndroid gradle skip buildを実行しますか?
- 2. Gradleコマンドでコードカバレッジを使用してAndroidテストを実行する
- 3. Android Studio 3 - JNIでリリースビルドをテストする方法は?
- 4. scipyを使ってLeveneのテストを実行する方法
- 5. 分度器 - 各テストの前と各テストの後にコードを実行します。
- 6. pytestを使って各テストにテスト固有のパラメータを追加する方法
- 7. Gradleの異なるシステムプロパティ値を使ってテストを複数回実行する方法
- 8. コードテストCESTのacceptanseテスト、各テストの前に__bootstrapコードを再実行する方法は?
- 9. hibernateを使って各クエリの実行時間を監視する方法は?
- 10. gradleで特定のAndroidテストを実行する
- 11. android gradle build - assembleReleaseまたはassembleLiveの前にタスクを実行
- 12. テスト実行ファイルをCMakeを使って別のフォルダに入れる方法は?
- 13. xunitコンストラクタは各テストの前に実行されます
- 14. android gradle buildの前にタスクを実行しますか?
- 15. JUnit 5では、すべてのテストの前にコードを実行する方法
- 16. Gradleを使用して分類されたJunitテストを実行するには?
- 17. テストを実行する前に毎回ログインする方法
- 18. 起動リングサーバーの前にテストを実行する方法
- 19. MsTest - アセンブリ内の各テストの前にメソッドを実行
- 20. Flex Builder:複数の「リリースビルドをエクスポート...」を実行する方法
- 21. Gradleは、実行前に大量のテストを印刷できますか?
- 22. Antを使ってJUnit 5 @Tagテストを実行するには?
- 23. Gradle:各行のステータスでテストを実行するにはどうすればよいですか?
- 24. py.testすべてのテストの前にメソッドを実行する方法
- 25. GoogleサービスGradle PluginでCircle CIのAndroidアプリケーションをテストする方法
- 26. リリースビルド中にXcodeユニットテストを実行する
- 27. 展開する前にドッカーでテストを実行する最良の方法は
- 28. Android Gradle検出はリリースビルドであるか、実行時にはありませんか?
- 29. Gitlab CI:ドッカーとシェルランナーを使ってパイプラインでテストを実行する方法
- 30. gradle junitテストで実行可能ファイルを使用する
はい、あなたは正しいですが、私は単純なアプリを開発しているので、今は必要ありません。私は今のところCIは必要ありません。私は単なるソロ開発者です。とにかく参考に感謝しますが、私は別のものを探していますが、私は簡単な答えが必要なものを求めていますが、おそらくそうではないと思っています。 :-) – Daniele
Jenkinsは仕事を変えるのが賢明なら、素晴らしいオープンソースのツールで素晴らしいスキルです。私はすでに私の本当に小さなプロジェクトを使用してトラビス、私のgithubを確認ニックネームは私のユーザー名と同じです – piotrek1543