我正在尝试使用 ActivityUnitTestCase 为活动方法编写单元测试。但我总是在调用时遇到空指针异常startActivity()
。下面是我的代码。
我调试并发现它总是返回 null getInstrumentation().getTargetContext()
。但我真的不明白这里发生了什么。
代码
public class ScoreBoardActivityTest extends ActivityUnitTestCase<ScoreBoardActivity> {
public ScoreBoardActivity activity;
public ScoreBoardActivityTest() {
super(ScoreBoardActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
startActivity(new Intent(getInstrumentation().getTargetContext(), ScoreBoardActivity.class), null, null);
activity = getActivity();
}
@Test
public void testActivityNotNull(){
Assert.assertNull(activity);
}
@Test
public void testBatsmanOneAddRunButtonClickUpdateTotalRuns(){
activity.onBatsmanOneAddRunClick(null);
Assert.assertEquals(activity.totalRuns, 1);
}
}
我在这里做错了什么?
还有什么我需要设置的吗?