测试未能完成。原因:'由于'java.lang.NullPointerException''导致仪表运行失败

时间:2015-09-18 22:10:32

标签: android unit-testing testing android-studio

我正在学习使用android机器人,我正在尝试做一个简单的测试,它读取文件的第一行,它等于“汽车”,但我得到了

测试未能完成。原因:'由于'java.lang.NullPointerException'',检测运行失败。

*活动开始片段。

public class TestReadFromFile extends ActivityInstrumentationTestCase2<PagesActivity> {

private Solo solo;
PagesActivity mPagesActivity;

private Context mContext;


public TestReadFromFile() {
    super(PagesActivity.class);
}

public void testReadLine() throws Exception {

    assertEquals(ReadFromFile.readLine(0, mContext),
            "car");
}

@Override
public void setUp() throws Exception {
    super.setUp();
    mPagesActivity = getActivity();
    mContext = getInstrumentation().getTargetContext();
    solo = new Solo(getInstrumentation(), getActivity());
}


@Override
public void tearDown() throws Exception {
    solo.finishOpenedActivities();
}
}

1 个答案:

答案 0 :(得分:0)

简单的解决方案是,如果您的tearDown()方法未被调用,因为您的代码恰好位于System.exit(0)某处。

@Override
public void tearDown() throws Exception {
    solo.finishOpenedActivities();
}

或者,我假设您的缓存上下文为空。 您无需在setUp()方法中保存上下文。在使用solo.getActivity()

的测试用例期间,您可以轻松访问您的活动/上下文