0

Androidアクティビティのテストケースを書いています。アクティビティには、2 つのテキスト ボックスと 1 つのボタンがあります。ボタンが押されると、Web サービスを呼び出し、それに応じてアプリケーションが応答します。ここで、私のテストでは、GUI が肯定的な応答に対してどのように動作するかのみをテストしたいと思います。個別にテストされるため、ネットワークアーキテクチャについては心配していません。asynctask のクラスをモック クラスに変更して、常に true を返すように、アプリケーションの動作を変更することはできますか? これは可能ですか?そうでない場合、どうすればやりたいことができますか?

4

1 に答える 1

0

デバッグブールパラメータなどを非同期タスクに渡し、true の場合はダミーデータを与え、false の場合はサーバーに移動してデータを取得します。

private class LongOperation extends AsyncTask<Boolean, Void, String> {

  @Override
  protected String doInBackground(Boolean... debug) {

        if(debug[0]){
            //do your dummy here
            return "blah blah blah";
        } 

        return GetWebData();

  }      

  @Override
  protected void onPostExecute(String result) {               
  }

  @Override
  protected void onPreExecute() {
  }

  @Override
  protected void onProgressUpdate(Void... values) {
  }

}
于 2013-04-04T05:17:54.590 に答える