Android アプリケーションの TDD に関するアドバイスとガイダンスが必要です
複雑な Android アプリケーション (Web ゲーム用の自動ロボ プレーヤー) を開発しています。今、私はそのパイロットを持っています。開発を続ける前に、完全な TDD を作成したいと考えています。
このアプリケーションの主な目的は、http サーバーと通信するバックグラウンド サービスとして実行されることです。これは、json コンテンツを含む http 要求を送信します。
2 つの実行モードがあります。
- service mode - it will run in background- read some data configuration from database and communicate with the server
- GUI mode - communication with server on demand + configuration for running in service mode.
GUI レイヤーは MVP として設計されているため、モジュール (MVP ユニット) で行われるすべてのビジネスはビューから分離されているため、すべてのアプリ ロジックは「非 Android 依存」です。
単体テストを作成する必要があるいくつかの大きなレイヤーがあります。
- domain data access :
database storage (ormlite)
android specific storage - shared prefs..,
files
- server communication - http client (spring android rest template)
http content conversion (gson)
- background services - android services
- GUI - activities
- app business - android independent - algorithms, computations, ...
結論として、TDD が必要になります。これらのレイヤーごとに個別に、完全なフローの統合テストも必要です。
テストが含まれています:
- database DAO tests
- http client requests
- GSON conversion TDDs
- business logic - simple tests for methods
- unit testsfor running and scheduled background services
- activity unit testing
- test suites (service + DAO + json conversion + http requests)
私の最初の質問は、どの TDD フレームワークが私のニーズに最適かということです。モッキングを使用する必要がありますか?
行き方を教えてください。ありがとう