코딩을 하다보면 이클립스에서 간단한 자바 테스트가 필요할때가 있는데요.

 

예를 들면, 실무에서 스프링 프로젝트를 하다가 서비스단에서 쿼리 결과값으로 문자열을 받았는데

 

이 문자열은 랜덤하게 10~20자 길이를 갖고 있고, 이 문자열의 앞에서 세 글자를 제외하고, 뒤에서 두 글자를 제외하고 남은 문자열만 뽑아서 다시 Mapper(혹은 Dao)에 파라미터로 넘겨야 하는 로직을 만들어야 한다면..

 

1. 문자열을 스트링 타입으로 받고

 

2. 문자열을 자른다.

 

3. 자른 문자열을 넘긴다.

 

1번 3번은 문제될 게 없고, 2번 자르는 것을 구현해야한다면

 

아래처럼 잘라야 하겠죠.

 

 

예를 들어서 저런 문자열을 넘겨받았다고 치면 substring으로 인덱스 3부터 문자열 길이의 -2 까지로 추출해주면 되겠죠. 그런데 substring을 간만에 쓰다보면 간혹 헷갈릴수도 확신이 없을때가 있는데요. 

length에서 -2를 빼주는게 맞나? -1 빼줘야 하는거 아닌가? 확신이 서질 않을때는...

보통 sysout으로 찍어보던가 디버깅을 해보던가 할텐데..

 

만약 이것을 서비스단에서 직접 sysout을 찍어보자면 

 

톰캣 시작해줘야 하고, 화면 진입해서 레프트 메뉴 눌러서 메뉴 안으로 진입해서 또 어떤 액션 버튼을 눌러줘야 하고, 만약 업무 프로세스상 저 로직 이전에 거처야 하는 로직들이 상당수 있다면 그것들도 오류없이 통과를 해야 저기까지 도달할테니... 상황에 따라서 시간이 엄청 걸리겠죠ㅠ

 

그래서 보통은 그냥 간단한 자바 테스트는 클래스 파일 하나 만들어서 메인 메서드 구현부안에 집어넣어서 테스트를 하는 경우가 있습니다. (딱히 생각하기 싫을때는 저는 그래요-_-) 아래처럼요.

 

 

여기서 저 클래스의 메인 메서드만 실행만 해주면 바로 콘솔에 찍히겠죠.

 

 

그래서 결과를 보고 생각했던 부분과 일치하는지 확인해보면 될 것 같네요.

 

그런데 저렇게 클래스 파일을 만들지 않고도 간단한 자바 테스트를 해볼 수가 있는데요.

 

바로 스크랩북 페이지(Scrapbook Page)를 생성해서 테스트를 해볼 수가 있습니다.

 

우선 이클립스에서 스크랩북 페이지를 생성해보겠습니다.

 

 

클래스 파일 생성하는 것처럼 적당한 경로의 패키지에서 오른쪽 버튼 눌러서 New -> Other를 눌러주세요.

 

 

Scrapbook Page를 찾아줍니다. scr이라고만 쳐도 검색됩니다. Next를 눌러주고

 

 

파일명을 입력해주시고 Finish를 눌러주시면 됩니다.

 

 

스크랩북 페이지의 확장자는 jpage 입니다.

 

 

 

처음 생성시에는 아무것도 없습니다.

스크랩북 이라는 의미가... 그냥 자유롭게 적을수 있는 북? 노트? 연습장, 낙서장.. 그런 의미로 의역하면 될듯 싶은데요.(아닐수도 있음)

 

여기서는 클래스, 메인 메서드 이런것은 필요가 없구요.

 

아까 저희가 테스트했던 그 소스만 복사해서 그대로 넣어주겠습니다.

 

 

저는 위 세 줄만 그대로 붙여넣기하였습니다. 

그리고 블록을 지정한 후에 오른쪽 버튼을 눌러줍니다.

 

 

실질적으로 사용되는 기능은 세 개 인데, 

보통은 콘솔에 결과를 찍어보기 위해서 사용하기 때문에 Execute 를 사용합니다. 

단축키는 Ctrl + U 인데 단축키 충돌이 나는 경우에는 그냥 마우스로 클릭해줍시다.

 

실행을 하면 아래 콘솔에 결과값이 찍힙니다.

 

 

클래스를 선언 안해도 메인 메서드가 없어도 똑같이 테스트가 가능하다는 것을 확인하실 수가 있었는데요.

 

 

한 가지 더 테스트를 해보겠습니다.

 

일단, 아까 만든 클래스에 배열을 선언해서 출력해보겠습니다.

 

 

이것을 출력해보면 아래처럼 출력이 될 것입니다.

 

그럼 저 소스를 그대로 복사해서 스크랩북 페이지에 붙여넣기 해보겠습니다.

 

 

 

아까와 동일하게 실행을 해보겠습니다. (블록 지정 후 실행)

 

 

그럼 아까랑 다르게 이번에는 상단에 오류가 뜰텐데요??

Arrays를 해석할 수 없다는 뜻인데요.

 

저희가 아까 클래스 파일에서는 Arrays를 사용하기 위해서 클래스 위쪽에 패키지를 임포트 해줬을 것입니다.

 

그런데 여기서는 해주지를 않아서 저런 오류가 떠버렸네요.

그럼 똑같이 해줍시다.

 

 

그리고 실행해주시고~

 

 

또 오류가 뜨네요!!

import 자체도 먹히지 않는 것 같네요.

 

네... 그렇습니다.

스크랩북 페이지에서는 java.lang 을 제외한 클래스를 사용할때는 패키지를 풀로 다 적어줘야 합니다.

 

즉, Arrays를 사용하기 위해서는 아래처럼 적어줘야 한다는 것이죠.

 

 

그럼 실행해보시면 정상적으로 콘솔에 출력되는 것을 확인하실수가 있습니다.

 

 

패키지경로를 다 기억을 못하겠다 하신다면.. Arrays에 커서를 대시고 ctrl + space를 누르면 패키지 경로를 확인할수가 있습니다.

 

 

 

 

이상으로 스크랩북 페이지 활용법에 대해서 간단히 알아봤는데요.

 

저는 그냥 메인 메서드가 있는 클래스로 테스트 해보는게 더 익숙한 편이기는 한데요..-_-

 

이클립스에서 이런 방식으로도 간단한 자바 테스트가 가능하다는 것을 참고사항으로 알아두시면 좋을 것 같아요. 

 

- 끝 -

 

+ Recent posts