2012-08-08 150 views
0

我在FragmentActivity中有一个按钮,按下时应该打开一个DialogFragment。Android中的JUnit测试 - DialogFragment

我想测试它在Eclipse中使用适用于Android的JUnit。

通过活动,我可以使用ActivityMonitor。如何测试点击按钮时正确的Fragment已打开?

回答

1

假设你喜欢这种开放的对话片段:

DialogFragment dlg = YourDialogFragment.newInstance(..); 
dlg.show(getFragmentManager(), "yourDialogTag"); 

您可以检查它在你的测试用例做这回事&显示:

// Click stuff on the UI-thread 
getInstrumentation().waitForIdleSync(); 
Fragment dialog = getActivity().getFragmentManager().findFragmentByTag("yourDialogTag"); 
assertTrue(dialog instanceof DialogFragment); 
assertTrue(((DialogFragment) dialog).getShowsDialog()); 
+0

非常感谢队友。一切正常! – Stephen 2012-08-08 21:31:56

+3

如果您使用支持库的DialogFragment,请确保使用'getSupportFragmentManager()'。 – 2012-08-21 21:38:06

+0

这是不正确的。 getShowsDialog()告诉你这个片段是否应该显示在对话框中。它不会告诉你,如果它正在显示。 http://developer.android.com/reference/android/app/DialogFragment.html#getShowsDialog() – Xample 2015-01-14 16:34:32