이전 글 처럼 우연히 TDD에 대해서 알게되었고, 그에 관해 공부해보고 싶은 마음에 시작했다. TDD란 의미는 테스트를 기반으로 한 개발방법론이기 때문에 현재 내가 진행중인 프로젝트에 적목해 보기가 쉽지 않았다. 그로 인해 기본 프로젝트에 맞는 Test Case 개발을 진행해 보면서 겪은 문제점들에 대해서 적으려고 한다.
ActionBarActivity 사용시 겪은 에러
@Test
public void createAdapter() throws Exception{
MainActivity activity = Robolectric.buildActivity(MainActivity.class).create().get();
assertThat(activity, notNullValue());
MainActivity를 생성하는 과정에서 NullPointerException 에러가 발생한다. 그 이유는 MainActivity가 ActionBarActivity를 상속을 받고 있기 때문이었고 Activity를 상속 받게 되면 에러는 발생하지 않았다. 이를 위한 해결책으로 activity를 생성하고 사용하는 함수들 위에 @Test와 마찬가지로 @Config(reportSdk = 10)을 다음과 같이 선언해 주어야 한다.
@Test @Config(reportSdk = 10)
public void createAdapter() throws Exception{
MainActivity activity = Robolectric.buildActivity(MainActivity.class).create().get();
assertThat(activity, notNullValue());
이유를 명확히 하기 위해서 찾아보았지만 자세한 이유에 대해 찾기가 어려웠다. 이후에 자세히 알게 된다면 다시 적을 예정.
댓글 남기기