2012-10-31 2 views
1

여러 가지 Activity 클래스로 Android 앱을 개발 중입니다. 나는 단위 테스트를 위해 Robolectric를 사용하고있다.Robolectric을 사용하여 NullPointerException을 얻는 방법 단위 테스트 Android 활동

@Before 
public void setUp() throws Exception { 
    activity = new StartARound(); 
    activity.onCreate(null); 
    btnSelectCourse = (Button) activity.findViewById(com.catalyst.golfapp.R.id.btnSelectCourse); 
    btnAddACourse = (Button) activity.findViewById(com.catalyst.golfapp.R.id.btnAddACourse); 
    btnShowLocation = (Button) activity.findViewById(com.catalyst.golfapp.R.id.btnShowLocation); 
    textView1 = (TextView) activity.findViewById(com.catalyst.golfapp.R.id.textView1); 
} 

문제는, 활동에 대한에서 onCreate 방법 내가 테스트하고있어 통화 :이 라인의

getActionBar().setDisplayHomeAsUpEnabled(true); 

실행 테스트 설정에서 나는 활동에에서 onCreate (NULL)이 테스트중인 호출 의 코드가 java.lang.NullPointerException 오류를 생성하고 테스트가 실행되지 않습니다. 어떤 아이디어 나 추가 코드를 검토하고 싶습니까?

답변

0

getActionBar()은 Robolectric의 최신 버전에는 구현되어 있지 않습니다.

은 ShadowActivity의 소스 파일입니다 이 API는 robolectric에 존재하지 않는 기능을 사용할 때 참조 할 수 있습니다

https://github.com/pivotal/robolectric/blob/master/src/main/java/com/xtremelabs/robolectric/shadows/ShadowActivity.java

: http://pivotal.github.com/robolectric/javadoc/com/xtremelabs/robolectric/Robolectric.html#logMissingInvokedShadowMethods()

0

을 Btw는을 사용하여, getActionBar()은 권장되지 않습니다. 대신 최신 작업 표시 줄이 포함 된 Android-AppCompat-v7을 사용하십시오. getSupportActionBar()

을 사용하여 가져올 수 있습니다.
관련 문제