Я пишу Unit Test для простого метода, который должен возвращать карту с элементами, но каждый раз, когда карты возвращают 0 элементов.
Тест в Котлине
@Test
fun `convertToMap`() {
val items = listOf(Item(ID, false))
val map = viewModel.convertToMap(items)
assertThat(map[ID]).isFalse()
}
Этот тест не пройден, поскольку на карте нет элементов.
Код находится на Java
public Map<String, Boolean> convertToMap(List<Item> items) {
Map<String, Boolean> itemsMap = new ArrayMap<>();
for (Item item: items) {
itemsMap.put(item.getId(), item.isEnabled());
}
return itemsMap;
}
List<Item> items
содержит item
, это не null
, getId()
возвращает значение, так же как isEnabled()
,
Я отлаживал метод, каждый из которых не увеличивал размер карты.(элементы не добавляются на карту)
зависимости, добавленные для тестов:
testImplementation 'junit:junit:4.12'
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation "org.mockito:mockito-core:${mockito_core}"
testImplementation "org.mockito:mockito-inline:${mockito_kotlin_inline}"
testImplementation "org.robolectric:robolectric:${robolectric}"
testImplementation "com.google.truth:truth:${google_truth}"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:${kotlin_version}"
edit: просто чтобы прояснить, convertToMap()
работает при запуске в стандартной среде.