首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robolectric: setupActivity()中的NullPointerException

Robolectric: setupActivity()中的NullPointerException
EN

Stack Overflow用户
提问于 2017-03-02 17:09:39
回答 1查看 2.7K关注 0票数 6

我正在尝试使用Robolectric来测试我的活动,但在尝试使用Robolectric设置活动时,我总是得到一个NPE。我遵循了robolectric.org网站上的指南。

下面是我的代码:

代码语言:javascript
复制
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP, manifest = "src/main/AndroidManifest.xml")
@RunWith(RobolectricTestRunner.class)
@Ignore
public class MainActivityUnitTest {

    private MainActivity activity;

    @Before
    public void setup() {
        activity = Robolectric.setupActivity(MainActivity.class);
    }

    @Test
    public void dummyTest() {
        assertTrue(true);
    }
} 

一些其他信息:我在项目中为DI使用了Dagger2。我得到的异常是:

代码语言:javascript
复制
java.lang.NullPointerException
    at org.robolectric.internal.ShadowExtractor.extract(ShadowExtractor.java:5)
    at org.robolectric.Shadows.shadowOf(Shadows.java:1165)
    at org.robolectric.shadows.CoreShadowsAdapter.getMainLooper(CoreShadowsAdapter.java:42)
    at org.robolectric.util.ComponentController.<init>(ComponentController.java:31)
    at org.robolectric.util.ActivityController.<init>(ActivityController.java:35)
    at org.robolectric.util.ActivityController.of(ActivityController.java:27)
    at org.robolectric.Robolectric.setupActivity(Robolectric.java:46)
    at com.me.myapplication.MainActivityUnitTest.setup(MainActivityUnitTest.java:32)
EN

回答 1

Stack Overflow用户

发布于 2018-04-29 09:35:43

尝试:https://github.com/robolectric/robolectric/issues/3169

“AGP3.0包括更好地支持单元测试的变化(通过将合并的资源、资产+ AndroidManifest.xml与Java代码一起包括为一等公民)。

这可以通过将以下配置添加到build.gradle文件来启用

代码语言:javascript
复制
android {
...
testOptions {
unitTests {
includeAndroidResources = true
}
}

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

https://stackoverflow.com/questions/42551056

复制
相关文章

相似问题

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