java.lang.NoClassDefFoundError: org/robolectric/internal/ShadowExtractor
java.lang.NoClassDefFoundError: org/robolectric/internal/ShadowExtractor
正在使用
testImplementation 'org.robolectric:shadows-play-services:3.4-rc2'
testImplementation "org.robolectric:robolectric:3.6.1"
testImplementation "com.google.android.gms:play-services-auth:$rootProject.ext.googlePlayServicesVersion" // the robolectric shadow bogusly needs this
我正在尝试这个:
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.gms.Shadows;
import org.robolectric.shadows.gms.common.ShadowGoogleApiAvailability;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE, shadows = {ShadowGoogleApiAvailability.class})
public abstract class BaseTest {
@Before
public void setUp() {
final ShadowGoogleApiAvailability shadowGoogleApiAvailability
= Shadows.shadowOf(GoogleApiAvailability.getInstance());
final int expectedCode = ConnectionResult.SUCCESS;
shadowGoogleApiAvailability.setIsGooglePlayServicesAvailable(expectedCode);
}
}
但是,我的测试失败了,出现了这个奇怪的错误:
java.lang.NoClassDefFoundError: org/robolectric/internal/ShadowExtractor
at org.robolectric.shadows.gms.Shadows.shadowOf(Shadows.java:37)
at ......BaseTest.setUp(BaseTest.java:19)
我做错了什么,如何解决?
这已被弃用并删除。切换到 Shadows.extract()
。参考这个问题
Google Play 服务影子已重命名为
testImplementation 'org.robolectric:shadows-playservices:3.6.1'
根据 https://github.com/robolectric/robolectric/issues/3489 and this is what should be used with Robolectric 3.5.x. Note that the official docs - http://robolectric.org/using-add-on-modules/ - 尚未更新以反映此更改。
正在使用
testImplementation 'org.robolectric:shadows-play-services:3.4-rc2'
testImplementation "org.robolectric:robolectric:3.6.1"
testImplementation "com.google.android.gms:play-services-auth:$rootProject.ext.googlePlayServicesVersion" // the robolectric shadow bogusly needs this
我正在尝试这个:
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.gms.Shadows;
import org.robolectric.shadows.gms.common.ShadowGoogleApiAvailability;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE, shadows = {ShadowGoogleApiAvailability.class})
public abstract class BaseTest {
@Before
public void setUp() {
final ShadowGoogleApiAvailability shadowGoogleApiAvailability
= Shadows.shadowOf(GoogleApiAvailability.getInstance());
final int expectedCode = ConnectionResult.SUCCESS;
shadowGoogleApiAvailability.setIsGooglePlayServicesAvailable(expectedCode);
}
}
但是,我的测试失败了,出现了这个奇怪的错误:
java.lang.NoClassDefFoundError: org/robolectric/internal/ShadowExtractor
at org.robolectric.shadows.gms.Shadows.shadowOf(Shadows.java:37)
at ......BaseTest.setUp(BaseTest.java:19)
我做错了什么,如何解决?
这已被弃用并删除。切换到 Shadows.extract()
。参考这个问题
Google Play 服务影子已重命名为
testImplementation 'org.robolectric:shadows-playservices:3.6.1'
根据 https://github.com/robolectric/robolectric/issues/3489 and this is what should be used with Robolectric 3.5.x. Note that the official docs - http://robolectric.org/using-add-on-modules/ - 尚未更新以反映此更改。