title: Android RxJava 2 JUnit test - getMainLooper in android.os.Looper not mocked RuntimeException
body: <p>I am encountering a RuntimeException when attempting to run JUnit tests for a presenter that is using <code>observeOn(AndroidSchedulers.mainThread())</code>. </p>
  
  <p>Since they are pure JUnit tests and not Android instrumentation tests, they don't have access to Android dependencies, causing me to encounter the following error when executing the tests:</p>
  
  <pre><code>java.lang.ExceptionInInitializerError
      at io.reactivex.android.schedulers.AndroidSchedulers$1.call(AndroidSchedulers.java:35)
      at io.reactivex.android.schedulers.AndroidSchedulers$1.call(AndroidSchedulers.java:33)
      at io.reactivex.android.plugins.RxAndroidPlugins.callRequireNonNull(RxAndroidPlugins.java:70)
      at io.reactivex.android.plugins.RxAndroidPlugins.initMainThreadScheduler(RxAndroidPlugins.java:40)
      at io.reactivex.android.schedulers.AndroidSchedulers.&lt;clinit&gt;(AndroidSchedulers.java:32)
      …
  Caused by: java.lang.RuntimeException: Method getMainLooper in android.os.Looper not mocked. See http://g.co/androidstudio/not-mocked for details.
      at android.os.Looper.getMainLooper(Looper.java)
      at io.reactivex.android.schedulers.AndroidSchedulers$MainHolder.&lt;clinit&gt;(AndroidSchedulers.java:29)
      ...
  
  
  java.lang.NoClassDefFoundError: Could not initialize class io.reactivex.android.schedulers.AndroidSchedulers
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      …
  </code></pre>