Lazily load activities in Robolectric tests (#3397)

Not all Robolectric tests interact with activities, so lazy loading the activity can speed them up.

I benchmarked the impact with gradle-profiler. Each test run performed 6 warmup runs, and then 10 benchmarked runs with and without this change.

Without this change (all values rounded to nearest second):
Mean: 151
Median: 149
P75: 157
StdDev: 10

With this change:
Mean: 127
Median: 125
P75: 130
StdDev: 7

So a ~ 18% reduction in median and P75 times,
This commit is contained in:
Nik Clayton 2023-02-28 21:28:05 +01:00 committed by GitHub
parent b4d10c9613
commit ddc4d76c41
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -72,6 +72,7 @@ android {
} }
unitTests.all { unitTests.all {
systemProperty 'robolectric.logging.enabled', 'true' systemProperty 'robolectric.logging.enabled', 'true'
systemProperty 'robolectric.lazyload', 'ON'
} }
} }
sourceSets { sourceSets {