AssertJ란?

- AssertJ란 테스트를 좀 더 간편하고 테스트 코드의 가독성을 높이기 위해 사용하는 라이브러리입니다. 테스트 코드 기반으로 개발하는 TDD(Test-Driven Development)에 대한 강의를 자주 들으면서, Spring한정이지만 제가 들은 강의중에서 빠진 적 없는 라이브러리입니다. 자세한 내용은 아랫 글을 통하면 좀 더 많은 정보를 얻으실 수 있습니다.

 

AssertJ에 대하여

AssertJ란? AssertJ란 테스트 코드를 작성할 때 사용하며 많은 기능을 통해 유용한 오류 메시지를 제공하고 테스트 코드의 가독성을 향상시키는 Java 라이브러리입니다. Junit을 사용할 때 AssertJ를 통

lucky-web.tistory.com

 

 

1. 프로젝트 생성

테스트를 하려면 당연하게도 실제로 구동시킬 프로젝트가 필요합니다. 많은 테스트가 프로덕션 코드에 있는 객체와 그에 대한 멤버를 사용하여 원하는 값이 나오는지를 점검하는 것이 목적이기 때문에 프로젝트를 만들어 주시면 되겠습니다.

저는 JDK 11, 빌드 툴은 Gradle - Groovy로 생성하겠습니다.

빈칸에는 원하는 프로젝트의 이름을 넣으면 됩니다.

 

 

2. 빌드 파일에 AssertJ의 링크로 등록한다.

저와 같이 gradle프로젝트를 생성하신 분들은 위 사진과 같은 파일이 있을 것입니다. 해당 파일은 Maven의 Pom.xml과 같이 사용할 라이브러리의 링크를 등록하면 자동으로 다운받아 사용할 수 있게 해주는 빌드 파일입니다.

보시면 맨 밑줄에 assertJ에 대한 라이브러리 링크를 삽입한 것을 볼 수 있습니다. build.gradle에 변경점이 생기면 우측 상단의 파란색 코끼리 새로고침이 나타나는데, 이것을 누르면 수정된 내용이 적어지면서 외부 라이브러리(External Libraries)에 추가됩니다. 정상적이지 않은 링크를 넣으면 찾을 수 없기때문에 빌드 실패가 콘솔에 나타나며, 외부 라이브러리에도 추가되지 않습니다.

 

3.  테스트 코드 불러오기

 

이제 모든 준비는 끝났습니다. src아래의 test 패키지 밑에 테스트할 클래스를 생성하고, Mac은 opt + n 윈도우는 Alt+n을 누르시면 해당 사진과 같은 메뉴가 뜹니다. 하나하나 쳐보는 것도 중요하지만, 단축키를 익숙하게 사용하는 것도 최근에 공부를 다시 시작하며 많이 느끼고 있습니다.

 

테스트 메서드 선택 후 엔터를 누르면 디폴트형 메서드가 생성됩니다. 테스트 메서드임을 나타내는 어노테이션인 @Test역시 붙어있는 것도 확인할 수 있습니다. 참 편리하죠?

그럼 이제 만들어진 메서드에 assertJ를 이용하여 테스트를 해봅시다.

AssertJ는 일반 클래스와 다르게 static import를 해주어야합니다. 그래서 임포트문이 아랫 사진처럼 나와야합니다.

우선 이것을 등록하는 방법이 위 사진내용을 직접 타이핑 하는 것 말고도 방법이 있습니다.

바로 assertThat()을 입력하고 opt + enter/alt+enter를 입력해 자동으로 연동하는 방법인데

여기서 주의해야할 사항이 몇 가지 있습니다. 이것이 오늘 제가 포스팅을 하는 이유중 하나이고, 이런 간단한 실수로 다른분들이 안되지 않기를 바라서도 있습니다.

우선 제대로 나오는 상황을 보여드리겠습니다.

 

해당 사진처럼 static 메서드 가져오기가 나와야하며, 엔터나 클릭시 해당 입력값(assertThat)이 들어간 수많은 임포트메서드를 보여주며 선택할 수 있게 해줍니다. 그중 위의 임포트문과 같은 내용의 메서드를 가져오시면 됩니다.

 

이후 단축키(opt+enter / alt+enter)입력시에도 나오지 않는 경우를 모두 정리 해봤습니다.

1. assertThat() <-- 괄호까지 입력한 후 위 단축키를 입력해야합니다. 구글에도 많이 있는 내용인데 괄호를 빼고 하면 아무리 해도 오토 임포트가 안나오는  경우가 있습니다.

 

2. 커서를 맨 앞이나 맨 뒤에 놓을 경우

커서를 맨 앞이나 맨 뒤에 놓을 경우, 아무리 단축키를 눌러도 다른 옵션들만 나오기때문에, 혹시 build.gradle에도 라이브러리를 넣었고 빌드도 성공적으로 되셨다면, 커서 위치를 의심해보세요. 전 오늘 해당 이슈로 2시간이 날라갔답니다(운도 없지..).

 

3. build.gradle에서 제대로 빌드되었는지 확인하세요

build.gradle에서 제대로 빌드가 되면 해당 사진의 외부 라이브러리에 추가됩니다. 자신이 추가한 라이브러리가 있는지 확인해보세요

정상적으로 빌드되면 사진과 같이 외부 라이브러리에 assertJ라이브러리가 추가됩니다.

 

이제 정상적으로 되셨다면 간단한 테스트로 작동 여부를 확인하시면됩니다.

읽어주셔서 감사합니다!

 

'JAVA' 카테고리의 다른 글

[JAVA, JS]프로그램 변수란?  (0) 2023.07.05
[JAVA] JAVA와 객체지향 언어의 특징  (0) 2023.07.04
AssertJ에 대하여  (0) 2023.04.24
Junit에 대하여  (0) 2023.04.24
[JAVA] 숫자열 분리하기  (0) 2023.01.31

+ Recent posts