Robolectric junit 测试 - 缺少互联网许可

2024-03-25

我正在为 ma 应用程序开发一些 JUnit 测试。 我需要使用 Robolectric + Roboguice 库。我现在想做的只是简单的测试,检查 Activity 是否不为空。

这是我的代码:

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP,
        application = TestBoomerangManagerApplication.class,
manifest = "src/main/AndroidManifest.xml")
public class SimpleTest {

    private DirectInviteEmployeesActivity activity;

    @Before
    public void setup() {
        activity = Robolectric.buildActivity(DirectInviteEmployeesActivity
                .class).create().get();

    }

    @Test
    public void shouldNotBeNull() {
        assertThat(activity).isNotNull();

        Button button = (Button) activity.findViewById(R.id.btn_send_invites);
        assertThat(button).isNotNull();
    }

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

它非常简单并且应该可以工作,但是当我尝试运行测试时出现错误:

java.lang.IllegalArgumentException: INTERNET permission is required.
    at com.segment.analytics.Analytics$Builder.<init>(Analytics.java:597)
    at com.segment.analytics.Analytics.with(Analytics.java:116)
    at com.jobtapteam.shared.utils.AnalyticsUtil.sendPageView(AnalyticsUtil.java:90)
    at com.jobtapteam.shared.ui.AbstractActivity.onCreate(AbstractActivity.java:153)
    at com.jobtapteam.employer.ui.activity.DirectInviteEmployeesActivity.onCreate(DirectInviteEmployeesActivity.java:73)
    at android.app.Activity.performCreate(Activity.java:5933)
    at org.robolectric.util.ReflectionHelpers.callInstanceMethod(ReflectionHelpers.java:195)
    at org.robolectric.util.ActivityController$1.run(ActivityController.java:122)
    at org.robolectric.shadows.ShadowLooper.runPaused(ShadowLooper.java:304)
    at org.robolectric.shadows.CoreShadowsAdapter$2.runPaused(CoreShadowsAdapter.java:45)
    at org.robolectric.util.ActivityController.create(ActivityController.java:118)
    at org.robolectric.util.ActivityController.create(ActivityController.java:129)
    at SimpleTest.setup(SimpleTest.java:33)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:251)
    at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:188)
    at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:54)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:152)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

显然我已经向清单文件添加了互联网权限。 我不知道我做错了什么。请帮忙 ! :)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Robolectric junit 测试 - 缺少互联网许可 的相关文章

随机推荐