Escribí una prueba unitaria con RobolectricsTestRunner incluido.
La prueba unitaria pasó, pero con la siguiente advertencia:
System.logW: No Compatibility callbacks set! Querying change 119147584Todo lo que hice en la prueba unitaria, guardé una variable en Preferencias compartidas. Esta advertencia no destruye nada. Me preguntaba qué significa. Prueba de unidad:
@RunWith(RobolectricTestRunner::class) @Config(sdk = [30]) class SharedPreferencesProviderTest { private lateinit var sharedPreferencesProvider: SharedPreferencesProviderInterface @Before fun setup() { // setup Shared preferences ... // Shared Preferences Access ... // clearing Shared Preferences ... } @Test fun firstStart_shouldBeTrueDefaultAndCheckChange() { // Default check var firstStart = sharedPreferencesProvider.getIsFirstStart() var expected = true assertTrue(firstStart == expected) // Check whether it handles changes sharedPreferencesProvider.setIsFirstStart(false) firstStart = sharedPreferencesProvider.getIsFirstStart() expected = false assertTrue(firstStart == expected) }}Parece que ya no activa OnSharedPreferenceChangeListener, pero no estoy seguro. fuente