【发布时间】:2014-08-25 22:46:01
【问题描述】:
我正在尝试测试模块中的活动。我只是想在测试方法中开始这个活动,但我总是有一个AssertionFailedError。我在网上搜索了这个问题,但找不到任何解决方案。任何帮助表示赞赏。
这是我的测试课:
public class ContactActivityTest extends ActivityUnitTestCase<ContactActivity> {
public ContactActivityTest() {
super(ContactActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
}
public void testWebViewHasNotSetBuiltInZoomControls() throws Exception {
Intent intent = new Intent(getInstrumentation().getTargetContext(),
ContactActivity.class);
startActivity(intent, null, null);
}
@Override
public void tearDown() throws Exception {
super.tearDown();
}
}
这是错误:
junit.framework.AssertionFailedError
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:147)
at com.modilisim.android.contact.ContactActivityTest.testWebViewHasNotSetBuiltInZoomControls(ContactActivityTest.java:29)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1763)
问候。
【问题讨论】:
-
您是否尝试过使用空活动,或者可能是
ContactActivity代码导致错误? -
@Simas 很可能是,问题是代码的哪一部分。我尝试使用
FragmentActivity和Activity的扩展名,我清空了后者的代码,但它仍然因同样的问题而崩溃。 -
我相信你需要在 setUp() 中有 startActivity(...) 代码你能检查一下吗,如果是,我会添加一个答案让你接受。
-
@MGranja 那是处理调用测试方法的 JUnit 3
-
@DougEdey 根据javadoc,不应在 setUp() 中调用它(因为 ClassLoader 问题),但我还是尝试调用 setUp 或 test 方法,但问题相同。
标签: android unit-testing assertion start-activity activityunittestcase