Не знаю, зачем вам нужно что-то тестировать во время onCreate фрагмента, но у меня был случай, чтобы снабдить мой фрагмент поддельной моделью представления (случай насмешливого счастья и т. Д. c.) - вы можете сделать это следующим образом:
@Test fun yetAnotherTest(){
val fakeViewModel = YourViewModel(fakeDependency1, fakeDependency2,...)
val scenario: FragmentScenario<YourFragment> =
launchFragmentInContainer {
YourFragment().apply {
viewModel = fakeViewModel
}
}
}
и некоторые незначительные модификации
lateinit var viewmodel: YourViewModel
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//if this is yetAnotherTest() run, line is skipped
if (!::viewModel.isInitialized) {
//normal setup
viewModel = provideYourViewModel()
}
альтернативно, вы можете предоставить FragmentFactory для своего фрагмента, чтобы вы могли легче тестировать фрагменты с FragmentScenario.