Skip to content

LazyVerticalGrid testing with KakaoCup Compose causes ClassCastException #128

Description

@JameerSyedIbrahim

Описание проблемы

Я использую KakaoCup Compose для UI-тестирования в Jetpack Compose и пытаюсь протестировать компонент LazyVerticalGrid.

Я объявил список следующим образом:

val relatedDataList = KLazyListNode(
semanticsProvider = semanticsProvider,
viewBuilderAction = {
hasTestTag(RELATED_DATA_LIST)
useUnmergedTree = true
},
itemTypeBuilder = {
itemType(::RelatedDataListItem)
},
positionMatcher = { position ->
SemanticsMatcher.expectValue(
LazyListItemPositionSemantics,
position,
)
},
)

При выполнении теста получаю ошибку:

ClassCastException:
androidx.compose.foundation.lazy.grid.LazyGridState
cannot be cast to
androidx.compose.foundation.lazy.LazyListState

Ожидаемое поведение

Возможность стабильно тестировать LazyVerticalGrid с использованием KakaoCup Compose (аналогично LazyColumn).

Фактическое поведение

KLazyListNode ожидает LazyListState, но LazyVerticalGrid использует LazyGridState, что приводит к ClassCastException.

Вопросы

Есть ли официальный или рекомендуемый способ тестирования LazyVerticalGrid в KakaoCup Compose
(например, через KLazyGridNode)?

Если поддержка grid уже существует — какой корректный паттерн объявления LazyGridNode
и сопоставления элементов по позиции?

Если поддержка grid пока не задокументирована, какой рекомендуемый подход для написания
стабильных UI-тестов для LazyVerticalGrid с использованием KakaoCup Compose?

Буду благодарен за подсказки или направление 🙏
Спасибо! 🧡

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions