【发布时间】:2013-11-15 16:36:39
【问题描述】:
我正在对一项活动进行单元测试。我的活动有一个调用简单方法的按钮(没有活动、服务或其他任何东西)。
java.lang.NullPointerException 在 com.android.my.test.MyActivityTest.testPerformClick(MyActivity.java:41) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:205) 在 android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:195) 在 android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:175) 在 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 在 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 在 android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:430) 在 android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)
我的测试是这样的:
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
MyActivity a;
public MyActivityTest() {
super("com.android.my", MyActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
a = this.getActivity();
}
@Override
public void tearDown() throws Exception {
super.tearDown();
}
public void testPerformClick() {
a.getButton().performClick();
}
}
我的活动是这样的。
public class MyActivity extends Activity implements OnClickListener {
private Button b;
@Override
public void onCreate(Bundle savedInstanceState) {
button = new Button();
button.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
method();
}
private void method() {
// [...]
}
public void getButton() {
return button();
}
}
【问题讨论】:
-
a或a.getButton()是null。 -
a.getButton 返回 null,但它应该返回活动按钮吗?
-
如果您可以发布可编译的代码,这很有用。
-
您的活动无法编译。
button未定义,button()也未定义 -
对不起,我编辑了我的帖子。但我仍然得到 nullpoineexception
标签: java android nullpointerexception