in package Android

[Andorid] Gradle Test Case 개발시 겪은 에러

이전 글 처럼 우연히 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());

이유를 명확히 하기 위해서 찾아보았지만 자세한 이유에 대해 찾기가 어려웠다. 이후에 자세히 알게 된다면 다시 적을 예정.

Comments

comments

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.