我希望测试一个dialog Fragment是否在使用Roboelectric时显示出来。
public class SomeDialogActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
DialogFragment someDialogFragment = new SomeDialogFragment();
someDialogFragment.show(getSupportFragmentManager(), "some_dialog");
}
}
现在我想测试一下是否会出现这个对话框,就像这样:
@Test
public void dialogFragmentIsShownToTheUser() {
DialogFragment dialog = new SomeDialogFragment();
DialogFragment someDialogFragment = new SomeDialogFragment();
startFragment(someDialogFragment);
SomeDialogActivity activity = Robolectric.setupActivity(SomeDialogActivity.class);
Dialog dialog = ShadowDialog.getLatestDialog();
assertNotNull(dialog);
assertEquals(.... , ....)
}
... android.content.res.Resources.loadXmlResourceParser(Resources.java) at android.content.res.Resources.getLayout(Resources.java:852) at android.view.LayoutInflater.inflate(LayoutInflater.java:394) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.xxx.yyy.zzz.fragments.MacDialogFragment.onCreateDialog(MacDialogFragment.java:36) .....
- Pranav Kotecha