Типобезопасный способ использования функций Mockk и расширений

#kotlin #mocking #mockk

Вопрос:

Похоже , что рекомендуемый способ имитировать расширения с помощью Mockk-определить a @file:JvmName и ссылаться на него с mockkStatic("<jvm-name>") помощью, что небезопасно для типов: в случае рефакторинга (например, переименования или изменения пакета) тесты могут непреднамеренно прерваться. Существует ли более типобезопасный способ издеваться над функциями расширения?

Ответ №1:

В дополнение к mockkStatic("<jvm-name>") этому также можно определить использование mockkStatic(Type::extension) . Хотя это может означать более шаблонный формат для нескольких расширений, он будет более надежным и позволит безопасно рефакторинговать ваш код.