본문 바로가기

Trouble Shooting

안드로이드 기기를 사용하는 단위테스트 첫발

안드로이드 프로그램을 처음으로 짜보게 되었다. 단위테스트를 사용하기 위해 JAVA 프로그램을 제작할 때 하듯이 했는데, 간단한 단위테스트는 문제가 없었지만, 기기를 이용해야 되는 경우에는 구현이 까다로왔다. 예를 들면 리소스파일을 읽어오는 테스트...


우선 인터넷에 검색된 문서들의 경우, 제안된 TestCase 클래스들 'AndroidTestCase' 혹은 'ApplicationTestCase' 들은 모두 사라질(deprecated) 상태였다.


이리저리 살펴본 결과 


1. 'src/androidTest/java' 디렉토리 아래에 단위테스트 클래스를 반드시 놓아야 했다.

2. class annotation @RunWith를 아래와 같이 넣어야 한다.

@RunWith(AndroidJUnit4.class)
public class ZwordContextTest 


3. 테스트 하려는 함수는 아래처럼 'use'로 시작해야 한다. (샘플과 비교하다가 우연히 발견함)
@Test
public void useLoadDictionary() throws Exception



추가로 android.content.Context객체 인스턴스를 구하는 코드는 아래와 같다.

Context appContext = InstrumentationRegistry.getTargetContext();