2016-06-20 6 views
0

私は意図以上にさまざまなUTの例を見てきましたが、私のアプリケーションにUTを組み込む実用的な方法を見つけることができませんでした。ユニットテスト(Android) - テストする一般的なシナリオ

JSONフィードとポストデータを読み取ることができるこの簡単なアクティビティを考えてください。

public class MainActivity extends Activity { 

    String dataArray; 

    /** Called when the activity is first created. */ 
    public void onCreate() { 
     //Get json data from the server 
     getAPIdata(); 
    } 

    /** get data json from the server */ 
    public getAPIdata(Server Response){ 
     //Parse the json output 
     //Validate 
     //populate data array 
     return dataArray; 
    } 


    /** use populated data array and display */ 
    public setListView(dataArray){ 
     //use the data array and set a list view to display the results 

    } 


    /** post data to create a record */ 
    public postDataToServer(Parameters){ 
     //validate input data 
     //send a post request to the server 
     //if success, print a success message on the screen 
     //else print the error 
    } 


} 

これは主にAndroidアプリケーションに搭載されている構造です。私はビジネスロジックがあまりありません。

もう一度要約しましょう。

  1. JSONを取得し、表示が今、あなたは、このアプリケーションは見ることができます

だから、編集のレコードを作成するためにAPIに

  • フォーム入力の検証

  • POSTデータを結果/主にCRUD操作を処理します。私の質問は皆さんです:

    このアプリケーションでUTを使用するにはどうしたらいいですか? (ビジネスロジックがあまりないため、ここではUTは必要ありません)

    実用的な提案があれば分かります。

    ありがとうございます!

  • +1

    ステップ1:懸念事項の分離。アクティビティはjsonデータのダウンロードを管理するものではありません。論理を別のクラスに分割してください。 –

    +1

    実際には私は別のクラスでそれを持っています。非常に長くなるので完全なコードを投稿していない –

    答えて

    0

    このアクティビティでJSONフィードを読み込んで結果を表示する必要があることを考慮して、ビジネスロジック、サーバー通信、JSONパーサーなどをテストし、アクティビティを直接テストする計測テストを作成します。

    エスプレッソフレームワークを使用してAndroid documentationでUIをテストし、JUnitフレームワークを使用して統合テストを作成する例があります。

    関連する問題