我有一个AsyncTask我想写一个测试。它有一个传入的TextView:
public LoadAssetTask(TextView target, boolean skipSingleLineBreak, InputStream in) { ...}
如何为此编写Adroid JUnit测试?有没有办法使用Mock对象模拟一个带有文本字段的活动,我讨厌创建一个完整的活动或使用一个已经因为我想测试这个类。我尝试使用模拟活动,但你必须将它添加到清单中,我不想为我拥有的每个AsyncTask都这样做。
答案 0 :(得分:2)
您是否尝试过使用android.test.ActivityInstrumentationTestCase2?此类为另一个Activity中的方法运行JUnit测试。实际上,它是唯一方式对Activity中的方法(或Activity的包含类中的方法)运行JUnit测试。 AsyncTask必须在Android上下文中运行(因为它使用Android线程API),但我认为ActivityInstrumentationTestCase2可以与进程中的任何线程进行通信。
ActivitInstrumentationTestCase2的文档位于http://developer.android.com/tools/testing/testing_android.html