使用Robolectric

时间:2019-04-02 16:05:53

标签: android robolectric

我正在使用Robolectric测试我的片段,我在某些片段中遇到了一个问题,这导致它们变得不可测试。我在“活动”中创建一个进度栏,然后在片段中使用它。这意味着我正在将getActivity()强制转换为适当的活动(在这种情况下为LoginActivity)。当使用Robolectric运行此命令时,会出现以下错误:

java.lang.ClassCastException:org.robolectric.shadows.support.v4.SupportFragmentTestUtil $ FragmentUtilActivity无法转换为com.arproject.russell.ar_t.login.LoginActivity

对于我如何解决此问题的任何帮助,将不胜感激。

    public static LoginFragment newInstance() {
        return new LoginFragment();
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        progressBar = ((LoginActivity) getActivity()).findViewById(R.id.progress_bar);
    }

1 个答案:

答案 0 :(得分:3)

您无需投放活动即可获得进度条视图。这也应该工作:

progressBar = getActivity().findViewById(R.id.progress_bar);