woong's
android studio testing 환경 구축 하기(1) 본문
android studio testing 환경 구축 하기(1)
android studio test 관련해서 공부할 기회가 생겨 작업을 진행 했는데 3일 꼬박 걸려
정리 할겸 test 환경 구축에 대해서 정리해 보려 합니다 .
이번장에서는 소개 및 준비에 대해서 말씀 드리겠습니다 .
1. Junit 환경 구축
- Jinit 은 비지니스 로직 코드를 테스팅을 도와 주는 툴 입니다 .
2. Robolectric 환경 구축
- Robolectric 은 가상에 액티비티를 만들어서 테스트를 도와주는 툴 입니다.
(안드로이드 기본 내장 ActivityInstrumentationTestCase2 를 사용해도 되지만 테스트 기기나 , 에뮬레이터가 필요 하므로 테스트과정에서
불편함이 따라 올수 있을것 같습니다 . 그래서 가상액티비티를 만들어서 도와주는 로보렉트릭을 많이들 이용하는것 같습니다.)
3. jacoco coverage 환경 구축
- code coverage 툴 입니다 .
자신이 작성한 테스트 코드가 어떤 코드를 커버 하였으며 , 어떤 코드를 커버하지 않았는지 표시하여 코드의 품질을 높일수 있도록
도와 주는 툴입니다.
이렇게 진행해 보려 합니다 .
위와 같은 환경을 구축하기 전에 테스팅할 안드로이드 , java 샘플 코드가 있어야 합니다 .
샘플 코드는 액티비티 하나의 버튼 클릭을 통해 새로운 액티비티를 보여주는 코드를 작성합니다 .
- 안드로이드 테스팅 하실분이면 위 테스트 코드는 충분히 짜실수 있다고 생각합니다 .
Android 를 테스팅 하기 위함 샘플 코드
1. MainActivity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | public class MainActivity extends ActionBarActivity { private Button btnLogin; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initLayout(); } /** * 레이아웃 초기화 */ private void initLayout(){ btnLogin = (Button)findViewById(R.id.btnLogin); btnLogin.setOnClickListener(mOnClickListener); } Button.OnClickListener mOnClickListener = new View.OnClickListener(){ @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, LoginActivity.class)); } }; } | cs |
1-1. Main xml
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btnLogin" android:text="Login" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> | cs |
2. LoginActivity
1 2 3 4 5 6 7 8 9 | public class LoginActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); } } | cs |
2-1. Login xml
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/btnLogin"android:text="Login"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout>
Junit 을 테스팅 하기위한 샘플 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class Calculate { /** * 덧셈 * @param a * @param b * @return */ public int add(int a , int b){ return a + b; } /** * 뺄셈 * @param a * @param b * @return */ public int minus(int a , int b){ return a - b; } } | cs |
정말 간단한 코드 입니다 .
테스팅 환경을 구축 하기 위한 코드니 샘플코드는 간단한게 좋겠지요 ^^
'Develop > Android' 카테고리의 다른 글
android studio testing 환경 구축 하기(3) - Jacoco 사용하기 (0) | 2016.02.13 |
---|---|
android studio testing 환경 구축 하기(2) - Junit 환경 구축 (0) | 2016.02.13 |
Android FindBugs 연동하기 (0) | 2016.02.13 |
Android Jenkins Junit 연동하기 (0) | 2016.02.13 |
Jenkins Emma 연동하기 (0) | 2016.02.13 |