1

我有一个具有静态实例化方法的片段。它需要一些参数,这些参数是一些自定义类的对象。我想为他们编写 UT,并且我正在使用 launchFragmentInContainer。有没有办法我可以调用这个在显示片段之前初始化片段的静态方法?

我知道有 launchFragment 方法,我们可以在其中传递 bundle args 和 FragmentFactory 。但我没有使用它们。

片段代码:

public class MyDialogFragment extends DialogFragment {
    static Person mPerson;

    static MyDialogFragment newInstance(Person person) {
        MyDialogFragment f = new MyDialogFragment();
        mPerson = person
        return f;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

    }
}

测试:

@Test
    fun testMyDialogFragment() {
        with(launchFragment <MyDialogFragment>()) {
            onFragment {fragment ->
                assertNotNull(fragment.dialog)
            }
        }
    }

我希望 launchFragmentContainer 应该有办法在启动片段之前调用这样的静态方法

4

0 回答 0