Android - функция блочного теста - PullRequest
0 голосов
/ 03 апреля 2020

В моей модели просмотра у меня есть следующий список

private val screenComponents = mutableListOf(
    ScreenComponent1(),
    ScreenComponent2()
)

fun getScreenComponents() = screenComponents

fun getScreenComponentsSize() = getScreenComponents().size

, в какой-то момент в список screenComponents вставляются дополнительные данные.

Я пытаюсь написать для этого модульные тесты чтобы убедиться, что размер правильный, я знаю, что должен смоделировать функцию getScreenComponents(), но когда я пытаюсь проверить getScreenComponentsSize(), я всегда получаю ноль

@RunWith(MockitoJUnitRunner::class)
class MyViewModelTest {

  private val viewModel: MyViewModel = Mockito.mock(MyViewModel::class.java)

  @Test
  fun screenComponentsTest() {

    when(viewModel.getScreenComponents()).thenReturn(
      mutableListOf(
        ScreenComponent1(),
        ScreenComponent2()
      )
    )

    Truth.assertThat(viewModel.getScreenComponentsSize()).isEqualTo(2) //Expected :2, Actual :0

  }
}

Я не уверен, что я ' м отсутствует, так как getScreenComponentsSize() теперь использует функцию, которая является поддельной, я бы понял, что результатом должен быть результат того, что я высмеял. Или как мне пройти успешный тест?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...