woong's
android studio testing 환경 구축 하기(4) - Robolectric 사용하기 본문
android studio testing 환경 구축 하기(4) - Robolectric 사용하기 3장에서 jacoco 를 연동해보니 액티비티 코드가 빨간색으로 나타나 테스트 코드가 없는 것을 확인 했습니다 . 액티비티 코드도 테스트 코드를 통해서 안정성있는 코드를 만들어 주면 좋을것 같습니다 . 액비티비 테스트를 하기 위해서 ActivityInstrumentationTestCase2 를 사용해도 되지만 ActivityInstrumentationTestCase2 를 사용하면 항상 디바이스나 에뮬레이터가 있어야 하기 때문에 번거롭습니다 . 그래서 가상 액티비티에서 테스트를 할수 있는 Robolectric 을 사용해 보려 합니다 . Robolectric 은 jacoco를 연동하면서 설정이 어느정도 완료 되었습니다 . 바로 테스트 코드를 통해서 액티비티 코드 커버를 진행해 보겠습니다. 설정은 앞장을 보시면 되겠습니다.
dependencies 를 추가 하고 MainActivityTest 클래스를 만듭니다 .
위와 같이 테스트 코드를 작성합니다 . 테스트 시나리오 메인액티비티 로그인 버튼 선택 , 로그인 버튼 선택시 로그인 액티비티 활성화 setUp 메서드를 보면 로보렉트릭을 사용하여 메인액티비티를 가져옵니다 . 가져온 액티비티를 testMainActivity 메서드에서 존재여부를 테스트 합니다 . 마지막으로 testClickLoginBtn 메서드에서 버튼을 클릭하고 새로운 액티비티가 로그인액티비티 인지 테스트 하고 있습니다 . 위와같이 테스트 코드를 작성하면 액티비티 코드를 커버 할 수 있습니다 . 터미널을 열고 ./gradlew jacocoTestReport 를 실행 합니다 .
앞장과 동일한 index.xml 파일을 열어 보면
위와 같이 액티비티 코드가 커버된것을 볼수 있습니다 . 로그인 액티비티는 비어 있는 액티비티 입니다. 액티비티 존재여부 테스트를 작성해보시면 좋겠습니다 ^^ 이와 같이 테스트를 진행하면 안정서있는 코드를 만들수 있을것 같습니다 . 로보렉트릭에서 생명 주기 등 여러가지 기능들이 있습니다 . 저또한 학습이 필요합니다 . 코드커버리지를 통해 커버되지 않은 코드를 로보렉트릭 홈페이지를 참조해 커버해 나가면서 학습하면 되지 않을까 싶습니다 . 실제 프로젝트에 연결해서 테스트 코드를 작성해보면 코드의 의존성이 있는지 확인도 해보고 테스트 코드 학습도 해보면 좋을것 같습니다 . |
'Develop > Android' 카테고리의 다른 글
Android App Icon 사이즈별 디자인 적용하기 (0) | 2016.02.13 |
---|---|
안드로이드 앱 품질 향상 검증을 위한기본 가이드라인 (0) | 2016.02.13 |
android studio testing 환경 구축 하기(3) - Jacoco 사용하기 (0) | 2016.02.13 |
android studio testing 환경 구축 하기(2) - Junit 환경 구축 (0) | 2016.02.13 |
android studio testing 환경 구축 하기(1) (0) | 2016.02.13 |