Новая версия фреймворка для тестирования Android приложения на JVM теперь поддерживает свежую версию Android, а также убрали поддержку Android 5.0 и 5.1 (API Level 21 и 22).
🔥 Новая крутая фича - нативные ресурсы
Под капотом Robolectric начинает прокидывать нативные asset-id в C/C++-код фреймворка (вместо Java-эмуляции). Работает пока только на Android 16
Зачем это разработчиками? Большая точность разрешения ресурсов: aapt2-сгенерированные таблицы читаются так же, как на Android устройстве/эмуляторе. Меньше расхождений между JVM-тестом и устройством.
Включить можно глобально для всех тестов в Gradle
test {
systemProperty += ["robolectric.resourcesMode", "NATIVE"]
systemProperty += ["robolectric.enabledSdks", "36"]
}или для отдельного теста:
import org.robolectric.annotation.ResourcesMode
@Config(sdk = [36])
@ResourcesMode(ResourcesMode.Mode.NATIVE)
class MyTest { /* ... */ }
#android16 #тестирование