1

静的インスタンス化メソッドを持つフラグメントがあります。いくつかのカスタム クラスのオブジェクトであるいくつかの引数が必要です。それらの UT を書きたいのですが、同じために launchFragmentInContainer を使用しています。フラグメントが表示される前にフラグメントを初期化するこの静的メソッドを呼び出す方法はありますか?

バンドル引数と FragmentFactory を渡すことができる launchFragment メソッドがあることは知っています。しかし、私はどちらも使用していません。

フラグメントコード:

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