내 활동을 테스트하려고했지만 Android JUnit 프로젝트를 실행하려고하면이 스택이 시작될 때 실패합니다. 추적 :junit.framework.AssertionFailedError : 예외 : testMethod (java.lang.NullPointerException)
junit.framework.AssertionFailedError: Exception in constructor: test (java.lang.NullPointerException
at android.test.ActivityInstrumentationTestCase2.getActivity(ActivityInstrumentationTestCase2.java:100)
at com.sogemobile.saytv.api.UploadAvatarTest2.<init>(UploadAvatarTest2.java:16)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at junit.runner.BaseTestRunner.getTest(BaseTestRunner.java:118)
at android.test.AndroidTestRunner.getTest(AndroidTestRunner.java:148)
at android.test.AndroidTestRunner.setTestClassName(AndroidTestRunner.java:56)
at android.test.suitebuilder.TestSuiteBuilder.addTestClassByName(TestSuiteBuilder.java:80)
at android.test.InstrumentationTestRunner.parseTestClass(InstrumentationTestRunner.java:444)
at android.test.InstrumentationTestRunner.parseTestClasses(InstrumentationTestRunner.java:425)
at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:370)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4382)
at android.app.ActivityThread.access$1300(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
내 테스트 코드는 다음과 같습니다
public class UploadAvatarTest2 extends ActivityInstrumentationTestCase2<EmptyActivity_> {
public UploadAvatarTest2() {
super(EmptyActivity_.class);
getActivity();
}
public void test(){
}
}
나는 문제가 "getActivity()"호출 것으로 나타났습니다. "super (EmptyActivity_.class)"에 중단 점을 배치하면 디버거가 멈추지 않습니다. 하지만 "getActivity()"문자열 디버거를 제거하면 중지됩니다. 그것은 환상적으로 보이지만 사실이야 :) 나는 이클립스/에뮬레이터를 다시 시작하려고했지만 아무런 영향을 미치지 않는다.
문제를 해결하려면 어떻게해야합니까? :(
솔루션을 찾았습니까? – Androiderson