我正在测试两个活动:第一个完成测试并完成,但第二个测试中的第一个测试崩溃并出现以下错误:
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");
}
答案 0 :(得分:2)
在经过一些篡改活动和一些反复试验之后,我发现了这一点。问题是,onCreate上的活动需要一个包含调用活动变量的包。这是null
,不断传递测试试图启动的活动而不传递任何变量。解决方案是使用与活动一起使用的(虚拟/默认)值初始化所需的变量。