Мультиплатформа Kotlin: как макетировать объекты в модульном тесте для iOS - PullRequest
3 голосов
/ 10 октября 2019

Я работаю над библиотекой Kotlin-multiplatform (KMP) для iOS / Android. Я написал несколько модульных тестов для JVM, для которых я использую MockK для создания шпионов и насмешек, но MockK еще не полностью поддерживает Kotlin.

Поэтому мне было интересно, как другиеработая над проектами KMP, пишу юнит-тесты для платформы iOS. Пример был бы очень признателен.

Ответы [ 2 ]

2 голосов
/ 22 октября 2019

Я огляделся и спросил Общая слабость Kotlin , которая, кстати, является отличным пространством, где вы можете задавать вопросы непосредственно разработчикам Kotlin и энтузиастам, связанным с языком Kotlin, в том числе многоплатформенным вещам.

Но что касается времени, когда я пишу это, я не думаю, что вы можете издеваться над общим модулем с Mockk или любой другой библиотекой.

То, что вы можете для испытаний в общем модулекоторая нацелена на native, поскольку одной из платформ является старомодный подход интерфейс / импл / заглушка.

1 голос
/ 30 октября 2019

В настоящее время MockK не поддерживает Kotlin / Native или Kotlin / JS. Тем не менее, оба они размещены в виде важных элементов в списке проектов :

Это сложная задача, учитывая, что библиотека-макет сильно зависит от языковых функций, таких как отражение, которые еще не полностью поддерживаются в мультиплатформе Kotlin (и, возможно, даже не поддерживаются без значительных обходных путей). для определенных платформ).

Это не мешает вам писать пользовательские фиктивные классы и проверять состояния, которые вы в них устанавливаете, конечно, из которых тесты смогут запускаться на всех платформах.

...