1

テストを書きたい AsyncTask があります。渡される TextView があります。

public LoadAssetTask(TextView target, boolean skipSingleLineBreak, InputStream in) { ...}

このための Adroid JUnit テストを作成するにはどうすればよいですか? モック オブジェクトを使用してテキスト フィールドでアクティビティをモックする方法はありますか? このクラスだけをテストしたいので、アクティビティ全体を作成したり、既にあるアクティビティを使用したりしたくありません。モック アクティビティを使用してみましたが、それをマニフェストに追加する必要があり、私が持っているすべての AsyncTask に対してそれを行いたくありません。

4

1 に答える 1

2

android.test.ActivityInstrumentationTestCase2 を試してみましたか? このクラスは、別のアクティビティのメソッドに対して JUnit テストを実行します。実際、アクティビティ内のメソッド (またはアクティビティに含まれるクラス内のメソッド) に対して JUnit テストを実行する唯一の方法です。AsyncTask は (Android スレッド API を使用するため) Android コンテキスト内で実行する必要がありますが、ActivityInstrumentationTestCase2 はプロセス内の任意のスレッドと通信できると想定しています。

ActivitInstrumentationTestCase2 のドキュメントはhttp://developer.android.com/tools/testing/testing_android.htmlにあります。

于 2013-03-01T19:11:05.340 に答える