Как создать экземпляр класса Fragment? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь написать модульный тест для моего класса Fragment. Можно ли создать экземпляр «Тестируемой системы» таким образом?

val sut = MyFragment()

Я понимаю, что существует несколько методов написания тестов пользовательского интерфейса для тестирования фрагментов, но я хочу создать экземпляр своего класса Fragment, где я могу использовать методы модульного тестированиявнутри фрагмента.

, например,

@Test
fun testComponents() {
    val bundle = Bundle()
    val context = sut.requireContext()
    sut.checkPwdEditTextIsEmpty(text = "")
}

Как я могу сделать это в Kotlin ??

Кроме того, как я могу написать init () и tearDown () в тесте Kotlin?

1 Ответ

3 голосов
/ 15 октября 2019

Такие методы, как requireContext() и доступ к представлениям фрагмента, требуют добавления фрагмента в FragmentManager. Согласно документации Test вашего приложения , вы можете использовать FragmentScenario, чтобы написать именно такие типы тестов:

@Test
fun testComponents() {
    val scenario = launchFragmentInContainer<MyFragment>()
    scenario.onFragment { sut ->
        val context = sut.requireContext()
        sut.checkPwdEditTextIsEmpty(text = "")
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...