fix(android): testOptions isReturnDefaultValues = true
android / Build + lint + test (push) Failing after 2m55s

Unit tests touching Android framework statics (Bundle.EMPTY,
android.os.Bundle constructor in MediaItem/SessionCommand
construction) failed with NPE/ExceptionInInitializerError because
JVM unit tests run against android.jar's stub classes whose methods
throw "Method ... not mocked" by default. Enable
isReturnDefaultValues so stub methods return defaults — Bundle.EMPTY
ends up null and is fine because we just thread it through
SessionCommand without inspecting it.

Fixes LikeMediaCallbackTest's 5 failures on run #311. Lightweight —
no Robolectric, no androidTest. The first JVM-side test file in the
project to touch Android framework classes.
This commit is contained in:
2026-06-03 09:11:59 -04:00
parent 9a7cfac7f8
commit 7807e31b22
+13
View File
@@ -80,6 +80,19 @@ android {
buildConfig = true
}
testOptions {
unitTests {
// JVM unit tests run against android.jar's stub methods,
// which throw `RuntimeException("Method ... not mocked")`
// when touched (including statics like Bundle.EMPTY).
// Return defaults instead so tests that pass Bundles
// through without inspecting them (e.g. SessionCommand
// construction in LikeMediaCallbackTest) just work,
// without dragging in Robolectric.
isReturnDefaultValues = true
}
}
packaging {
resources.excludes +=
setOf(