woong's

android studio testing 환경 구축 하기(2) - Junit 환경 구축 본문

Develop/Android

android studio testing 환경 구축 하기(2) - Junit 환경 구축

dlsdnd345 2016. 2. 13. 22:24
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

android studio testing 환경 구축 하기(2) - Junit 환경 구축


​앞장을 통해서 환경 구축 소개 및 간단한 샘플 코드를 작성 했습니다 .


안드로이드 비지니스 로직에 사용될 Calculate 를 테스트 할수 있는 환경을 구축해 보려 합니다 .


보통은 안드로이드 비지니스 로직을 구현하고 액티비티에서 바로 가져다 사용합니다 .

사용하면서도 이게 잘돌아가는지 실행하고 나서야 잘못된것을 알수 있지요 .

또한 알수 있지만 , 잠재적인 버그가 있는지 모르고 넘어가는경우가 허다 합니다 .

필자 또한 여태까지 그렇게 코드를 작성해왔습니다 .

앞으로는 테스트 코드를 통해서 좀더 품질 좋은 코드를 작성할수 있도록 노력해야 겠습니다 .


환경을 구축하기 전에 안드로이드 스튜디오 폴더 구조를 살펴 보겠습니다 .



기본 프로젝트를 보면 androidTest , main 이 나뉘어 있습니다 .

androidTest 경로에 Test코드를 작성하시면 되겠습니다 .



앞장을 보시고 오신분은 위와 같은 프로젝트 구조가 되었을것 같습니다 .

여기서 Calculate 클래스가 비지니스 로직에 해당하는 부분입니다 .

바로 액티비티에서 사용할수도 있지만 좀더 확실한 코드를 액티비티에 사용하여

버그를 최소화 하면 좋을 것 같습니다 .


(android Test 안의 기본 클래스는 삭제해주시면 되겠습니다.)


클래스를 하나 만들고 아래와 같이 코드를 작성 합니다 .


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
31
32
33
34
35
36
37
38
 
/**
 * Created by woong on 2015. 3. 24..
 */
public class CalculateTest extends TestCase{
 
    private static final String TAG = CalculateTest.class.getName();
 
    private Calculate calculate;
 
 
    public void setUp() throws Exception {
 
        calculate = new Calculate();
    }
 
 
    public void testAdd() throws Exception {
 
        int result = calculate.add(5,3);
 
        assertEquals(8,result);
    }
 
    public void testMinus(){
 
        int result = calculate.minus(8,4);
 
        assertEquals(4,result);
    }
 
 
    public void tearDown() throws Exception {
 
    }
 
}
 
cs



TestCase 를 상속 받습니다.

코드를 보시면 setUp , tearDown 이 있습니다.

이메서드는 테스트 메서드 앞에 setUp 뒤에 tearDown 이 오게 됩니다. 


> setUp

> testAdd

> tearDown

> setUp

> testMinus

> tearDown


로그를 찍어보면 이와 같이 동작 합니다 .


앞에서 데이터를 넣어주고 뒤에서 데이터를 삭제해주고 이런목적으로 이용 되고 있습니다 .

assertEqual()  : 앞 인자에  예상하는 값 , 뒤에 실제 값을 넣어서 테스트 하면 됩니다.


junit 에는 아래와 같은 메서드가 있습니다. 아래 메서드를 통해서 여러가지는 예상 값과 실제 값을 테스트 할 수 있습니다. 


 




Run Test 눌러 주시면 테스트가 진행 됩니다 .



Comments