【问题标题】:JUnit testing in Android - DialogFragmentAndroid 中的 JUnit 测试 - DialogFragment
【发布时间】:2012-08-08 12:01:41
【问题描述】:

我在 FragmentActivity 中有一个按钮,按下该按钮时应打开一个 DialogFragment。

我想测试它在 Eclipse 中使用 JUnit for Android 是否有效。

有了 Activity,我可以使用 ActivityMonitor。如何测试单击按钮时是否打开了正确的 Fragment?

【问题讨论】:

    标签: android junit android-fragments


    【解决方案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());
    

    【讨论】:

    • 如果您使用支持库的 DialogFragment,请确保使用 getSupportFragmentManager()
    • 这是不正确的。 getShowsDialog() 告诉您此片段是否应显示在对话框中。它不会告诉您当前是否正在显示。 developer.android.com/reference/android/app/…
    猜你喜欢
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2015-01-28
    • 2020-12-07
    • 2012-11-27
    • 1970-01-01
    • 2013-03-01
    • 2023-03-10
    相关资源
    最近更新 更多