将@RunWith(AndroidJUnit4 :: class)指定为我的测试运行器时,为什么要涉及Robolectric?

时间:2019-06-25 09:39:51

标签: android kotlin junit4 android-testing

    private static String getRunnerClassName() {
    String runnerClassName = System.getProperty("android.junit.runner", null);
    if (runnerClassName == null) {
      // TODO: remove this logic when nitrogen is hooked up to always pass this property
      if (System.getProperty("java.runtime.name").toLowerCase().contains("android")) {
        return "androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner";
      } else {
        return "org.robolectric.RobolectricTestRunner";
      }
    }
    return runnerClassName;
  }

以上代码取自AndroidJUnit类,并告诉我未指定android.junit.runner,并且java.runtime.name不包含'android',默认为Robolectric。

没关系,但是我的测试是用Kotlin编写的。

请告诉我在哪里或如何指定android.junit.runner(注释是这样做的)或java.runtime.name?

谢谢,谢谢

0 个答案:

没有答案