Android-ActivityUnitTestCase-测试始终通过
我正在使用Android Studio尝试和测试我的活动。以下是基本代码:Android-ActivityUnitTestCase-测试始终通过,android,testing,android-studio,Android,Testing,Android Studio,我正在使用Android Studio尝试和测试我的活动。以下是基本代码: public class MyActivityTest extends ActivityUnitTestCase<MyActivity> { public MyActivityTest() { super(MyActivity.class); } @Override protected void setUp() throws Exception {
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);
}
}
我希望这个测试用例失败。但我尝试的一切都通过了。这似乎是一个奇怪的问题,但我如何才能使我的测试用例失败?我做错了什么?在某种程度上,我设法让它工作起来。我在一张照片上发现了这个: 我们正在弃用ActivityUnitTestCase。我们建议将业务逻辑移动到单独的类中,并使用gradle单元测试支持mockable android.jar对其进行单元测试 因此,我扩展了ActivityInstrumentationTestCase2,并将该测试作为检测测试而不是单元测试运行。成功了。以下是我现在的基本情况:
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
public MyActivityTest() {
super(MyActivity.class);
}
public void testSomething() throws Exception {
//test goes here
Assert.assertEquals(message, expectedObject, actualObject);
}
}
我仍然不知道为什么我会看到我之前的行为,但至少我现在可以测试了。以下是我的测试构建配置的屏幕截图:
这不是答案!仪器测试需要设备/仿真器,并且比单元测试慢。我们应该等待一个更好的选择:一旦有更好的答案出现,我会把它标记为答案。不管它是否慢,这是我运行测试的唯一方法。