Peter Farlow
04/19/2022, 6:46 PMAnalytics
object, but unfortunately mockk<Analytics>()
cannot create a mock because of a static android Handler in that class:
public class Analytics { // this is 3rd party code I can't change
static final Handler HANDLER =
new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
throw new AssertionError("Unknown handler message received: " + msg.what);
}
};
// rest of class here
}
I tried using both mockk<Analytics>()
and adding mockkConstructor(Handler::class)
but that didn’t work. Any suggestions?Peter Farlow
04/19/2022, 6:50 PMjava.lang.RuntimeException: Method getMainLooper in android.os.Looper not mocked
Peter Farlow
04/19/2022, 6:51 PMPeter Farlow
04/19/2022, 6:51 PMPeter Farlow
04/19/2022, 6:52 PMPeter Farlow
04/19/2022, 6:53 PMPeter Farlow
04/19/2022, 6:53 PMmockkStatic(Looper::class)
every { Looper.getMainLooper() } returns mockk()
Peter Farlow
04/19/2022, 6:53 PMMattia Tommasone
04/19/2022, 7:34 PM