0

我一直在尝试Activity从 a启动一个简单的ActivityUnitTestCase,但没有任何成功。我想我遗漏了一些明显的东西,但我不知道它是什么......我设法从 运行活动ActivityInstrumentationTestCase2,但不是从ActivityUnitTestCase。我尝试启动的 Activity 包含一个 Button,单击它会启动另一个 Activity。

首先,这是我的代码ActivityUnitTestCase

public class TestingActivityTest extends ActivityUnitTestCase<TestingActivity> {

    private Intent startIntent;

    public TestingActivityTest() {
        super(TestingActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        startIntent = new Intent(getInstrumentation()
                .getTargetContext(), TestingActivity.class);

    }

    public void testLaunchingSubActivity() {
        startActivity(startIntent, null, null);
        View button = getActivity().findViewById(R.id.forward_button);
        button.performClick();
        assertNotNull(getStartedActivityIntent());
        assertTrue(isFinishCalled());
    }
}

当我运行此测试时,我收到以下错误:

junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertNotNull(Assert.java:218)在 junit.framework.Assert.assertNotNull(Assert.java:211) 在 android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:147) 在 com.test.temp.TestingActivityTest.setUp(TestingActivityTest.java:27) 在 junit。 framework.TestCase.runBare(TestCase.java:132) 在 junit.framework.TestResult$1.protect(TestResult.java:115) 在 junit.framework.TestResult.runProtected(TestResult.java:133) 在 android.support.test。 internal.runner.junit3.DelegatingTestResult.runProtected(DelegatingTestResult.java:90) 在 junit.framework.TestResult.run(TestResult.java:118) 在 android.support.test.internal.runner.junit3.AndroidTestResult。run(AndroidTestResult.java:49) at junit.framework.TestCase.run(TestCase.java:124) at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63) at junit .framework.TestSuite.runTest(TestSuite.java:243) 在 junit.framework.TestSuite.run(TestSuite.java:238) 在 android.support.test.internal.runner.junit3.DelegatingTestSuite.run(DelegatingTestSuite.java:103 ) 在 android.support.test.internal.runner.junit3.AndroidTestSuite.run(AndroidTestSuite.java:63) 在 android.support.test.internal.runner.junit3.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90) 在 org. junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner .java:268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:137) 在 org.junit.runner.JUnitCore.run( JUnitCore.java:115) 在 android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:54) 在 android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:228) 在 android.app .Instrumentation$InstrumentationThread.run(Instrumentation.java:1741)268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:137) 在 org.junit.runner.JUnitCore.run(JUnitCore.java :115) 在 android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:54) 在 android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:228) 在 android.app.Instrumentation$ InstrumentationThread.run(Instrumentation.java:1741)268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:137) 在 org.junit.runner.JUnitCore.run(JUnitCore.java :115) 在 android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:54) 在 android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:228) 在 android.app.Instrumentation$ InstrumentationThread.run(Instrumentation.java:1741)运行(Instrumentation.java:1741)运行(Instrumentation.java:1741)

尝试启动 Activity 时测试失败。我使用了与此文档页面非常相似的代码。

谢谢

4

0 回答 0