Как выполнить модульное тестирование для разных Build.VERSION.SDK_INT - PullRequest
0 голосов
/ 14 июля 2020

Я нашел другие похожие вопросы, но ни один из ответов не оказался полезным. В методе у меня есть что-то похожее на:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    // use API available only on Q
} else { ... }

При написании модульного теста я хотел бы иметь возможность проверить все условия.

Я нашел людей, которые говорили, что мне следует обернуть проверка Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q в объекте, который я могу имитировать.

Если я это сделаю Android Studio покажет мне предупреждение, потому что я использую API, предназначенный для Q +

Другое люди говорят, что я должен использовать Mockk, который позволяет имитировать метод stati c. Проблема в том, что Build.VERSION.SDK_INT вызывает не метод, а просто поле, и я не нашел способа имитировать его.

Есть ли способ сделать это?

PS I ' м используя Kotlin

...