Android - ActivityUnitTestCase - 测试始终通过

时间:2015-05-19 15:02:44

标签: android testing android-studio

我正在使用Android Studio尝试测试我的活动。这是基本代码:

public class MyActivityTest extends ActivityUnitTestCase<MyActivity> {
    public MyActivityTest() {
        super(MyActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @SmallTest
    public void testSomething() {
        Assert.assertNotNull("something is null", null);
    }
}

我希望这个测试用例失败。我试过的一切都过去了。这似乎是一个奇怪的问题,但我怎样才能使我的测试用例失败?我做错了什么?

1 个答案:

答案 0 :(得分:0)

我设法使这个工作,有点。我在bug report上找到了这个:

  

我们正在弃用ActivityUnitTestCase。我们建议将业务逻辑移动到一个单独的类,并使用gradle unit test support(mockable android.jar)对其进行单元测试。

所以我扩展了ActivityInstrumentationTestCase2并将测试作为Instrumentation Test而不是单元测试运行。那很有效。这基本上就是我现在所拥有的:

public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
    public MyActivityTest() {
        super(MyActivity.class);
    }

    public void testSomething() throws Exception {
        //test goes here

        Assert.assertEquals(message, expectedObject, actualObject);
    }
}

我仍然不确定为什么我会看到我之前的行为,但至少我现在可以测试了。以下是我的测试构建配置的屏幕截图:

enter image description here