Android でのテスト駆動開発に JUnit を使用できますか? そうでない場合、 JUnit に似た代替手段はありますか?
Google で少し検索し、SO の投稿も読みましたAndroid Test Driven Development Android は、TDD を念頭に置いて作成されたことがないようです。TDD の学習と Android 開発を同時に始める前に、確認したかったのです。
Android でのテスト駆動開発に JUnit を使用できますか? そうでない場合、 JUnit に似た代替手段はありますか?
Google で少し検索し、SO の投稿も読みましたAndroid Test Driven Development Android は、TDD を念頭に置いて作成されたことがないようです。TDD の学習と Android 開発を同時に始める前に、確認したかったのです。
JVM でテストを実行するには、 Robolectricに完全に依存できると思います。POJO のテストには JUnit4 を使用でき、Robolectric は Android コンポーネントのテストをサポートします。
私は Android 開発の TDD の初心者でもあります。Robolectric は、自分のコードをテストするのに非常に便利です。
このビデオでは、Android コードの単体テストで提供されるほとんどすべてのことを説明しています。
更新: Android スタジオのサポートと新しい Android エコシステムにより、単体テストをファースト クラスのプラクティスとして実行できるようになりました。詳細については、 http://developer.android.com/training/testing/unit-testing/local-unit-tests.htmlを参照してください。
Android コードをテストするための良い方法がいくつかあります。私がこれまでに見つけた最も効果的なものは、MVVM (model-view-viewmodel) または MVP (model-view-presenter) アプローチを使用することです。このアプローチでは、ビジネス ロジックとプレゼンテーション ロジックがビューから分離され、簡単にユニット化できます。テスト済み。
ここに問題空間の説明が少しあります: http://www.techwell.com/2013/04/applying-test-driven-development-android-development
結論として、Robolectric を使用する必要があります。残念ながら、Robolectric は低速であり、実用的なレベルでも TDD に従うと、数百のテストが数 10 秒間実行されることになります。そして、それはTDDでやりたいことではありません。TDD テスト パッケージは、最大でも数秒で実行されます。
私のアドバイスは次のとおりです。
このアプローチにより、ロジックの移植性も向上します。
はい、JUnit をテスト駆動開発に使用できます。開始するには、次のリンクを参照できます。http://developer.android.com/tools/testing/testing_android.html#JUnit ドキュメントに従って、junit.framework を使用して単体テストを実行できます。