首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.NoClassDefFoundError: org/robolectric/internal/阴影提取器

java.lang.NoClassDefFoundError: org/robolectric/internal/阴影提取器
EN

Stack Overflow用户
提问于 2018-01-06 09:57:29
回答 2查看 1.3K关注 0票数 0

使用

代码语言:javascript
复制
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

我正在尝试这样做:

代码语言:javascript
复制
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);
        }
}

然而,我的测试失败了,出现了这个奇怪的错误:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: org/robolectric/internal/ShadowExtractor
    at org.robolectric.shadows.gms.Shadows.shadowOf(Shadows.java:37)
    at ......BaseTest.setUp(BaseTest.java:19)

我做错了什么,怎么解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-09 03:25:31

Google Play服务卷影已重命名为

代码语言:javascript
复制
testImplementation 'org.robolectric:shadows-playservices:3.6.1'

根据https://github.com/robolectric/robolectric/issues/3489的说法,这就是Robolectric 3.5.x应该使用的。请注意,官方文档http://robolectric.org/using-add-on-modules/尚未更新以反映此更改。

票数 1
EN

Stack Overflow用户

发布于 2018-01-06 10:49:19

这已被弃用并删除。切换到Shadows.extract()。请参阅此问题

https://github.com/robolectric/robolectric/issues/3339

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48123570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档