1

我有一个要为其编写测试的 AsyncTask。它有一个传入的 TextView:

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

我该如何为此编写一个 Adroid JUnit 测试?有没有办法使用模拟对象来模拟带有文本字段的活动,我不想创建一个完整的活动或使用一个已经存在的活动,因为我只想测试这个类。我尝试使用模拟活动,但您必须将其添加到清单中,我不想为我拥有的每一个 AsyncTask 都这样做。

4

1 回答 1

2

您是否尝试过使用 android.test.ActivityInstrumentationTestCase2?此类为另一个 Activity 中的方法运行 JUnit 测试。事实上,这是针对 Activity 中的方法(或 Activity 包含的类中的方法)运行 JUnit 测试的唯一方法。AsyncTask 必须在 Android 上下文中运行(因为它使用 Android 线程 API),但我假设 ActivityInstrumentationTestCase2 可以与进程中的任何线程通信。

ActivitInstrumentationTestCase2 的文档位于http://developer.android.com/tools/testing/testing_android.html

于 2013-03-01T19:11:05.340 回答