0

我有一些需要测试的 PreferenceFragment 类:

public class MyPref extends PreferenceFragment

我该如何测试它们?

例如我试图:

public class MyPrefTester extends ActivityInstrumentationTestCase2<MyPref> 

但是这失败了,因为这个 Android 测试类要求参数继承自 Activity。PreferenceFragment 继承自 Fragment(由 Activity 使用)。

有什么建议?

4

1 回答 1

1

在过去的几周里,我一直在解决同样的问题,这是我的方法:

  1. 为将从中实例化此片段的活动创建一个 ActivityInstrumentationTestCase2。
  2. 使用 robotium 库转到首选项片段屏幕。
  3. 使用机器人进行更改。
  4. 修改片段的 onDestroy 方法以广播对首选项所做的更改的意图。
  5. 在您用于此测试用例的 ActivityInstrumentationTestCase2 中创建一个广播接收器。
  6. 从此片段返回以确保已保存首选项并调用 onDestroy
  7. 在 onDestroy 接收到意图时,保存更改。
  8. 返回片段并确保接收到的保存值与显示的相同。希望这会有所帮助。
于 2014-02-17T23:51:02.933 回答