반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

jUnit 으로 Private Method 테스트 만들기 2

2013. 6. 10. 10:04 | Posted by 솔웅


반응형

지난번 글에 jUnit으로 Private Method 만들기를 올렸는데요.

 

input 파라미터가 class가 아니라 type 일 때 좀 헛갈려 하는 친구가 있더라구요.

 

기본 데이터 타입을 다룰 때는 class 대신 TYPE을 사용하시면 됩니다.

 

Integer 를 예로 들어서 실습을 해 볼께요.

 

    private int jUnitPrivate2(int a, int b) {
        int result = 0;
        result = a + b;
        return result;
    }

 

테스트 할 원래 코드는 위와 같습니다.

 

지난번 글에서 String 대신 Integer를 파라미터로 사용하시면 됩니다.

이에 대한 테스트 코드는 아래와 같습니다.

 

   @Test
    public void testJunitPrivate2() {
       
        Method m;   
        Class[] methodParameters = new Class[]{Integer.TYPE, Integer.TYPE};

        try
        {
            m = jPrivate.getClass().getDeclaredMethod("jUnitPrivate2",methodParameters);
            m.setAccessible(true);
           
            int result =0;
            int a = 111;
            int b = 222;
               
            try
            {
                result = (Integer) m.invoke(jPrivate,a,b);
            }
            catch (Exception e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                       
            assertEquals(333,result);
        }
        catch (Exception e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

 

 

String.class 대신 Integer.TYPE 이 들어갔습니다.

다른 건 없습니다.

 

 

 

지난번 테스트 소스에 추가를 했습니다.

보시다시피 지난번 jUnit test 하고 이번에 Integer 를 사용한 private class 를 테스트한 jUnit test 하고 모두 통과 됐습니다.

 

privatemethod.java

 

jUnitPrivateTest.java

반응형