静的インスタンス化メソッドを持つフラグメントがあります。いくつかのカスタム クラスのオブジェクトであるいくつかの引数が必要です。それらの 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 には、フラグメントを起動する前にそのような静的メソッドを呼び出す方法が必要だと思います