JUnit测试在setUp中崩溃

时间:2014-12-10 19:10:34

标签: java android testing junit nullpointerexception

我正在测试两个活动:第一个完成测试并完成,但第二个测试中的第一个测试崩溃并出现以下错误:

Test failed to run to completion. Reason: 'Instrumentation run failed due to 'java.lang.NullPointerException''. Check device logcat for details

我认为测试类中的行activity = getActivity();给出了null,从而导致测试崩溃。这是测试类的相关部分。为什么会发生这种情况,我该如何解决?

public ResultActivityTest() {
    super(ResultActivity.class);
}

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

    activity = getActivity();
    displayoperands = (TextView) activity.findViewById(R.id.result_textview);
    resultdisplay = (TextView) activity.findViewById(R.id.textView2);
    canvas = (SurfaceView) activity.findViewById(R.id.surfaceview);
    layoutRoot = (RelativeLayout) activity.findViewById(R.id.rellay);
    back = (Button) activity.findViewById(R.id.back_button);

    activity.setImag1(2.0);
    activity.setImag2(2.0);
    activity.setReal1(2.0);
    activity.setReal2(2.0);
    activity.setOperation("A");
}

1 个答案:

答案 0 :(得分:2)

在经过一些篡改活动和一些反复试验之后,我发现了这一点。问题是,onCreate上的活动需要一个包含调用活动变量的包。这是null,不断传递测试试图启动的活动而不传递任何变量。解决方案是使用与活动一起使用的(虚拟/默认)值初始化所需的变量。