본문 바로가기
내일배움캠프(Sparta)/Spring

[Spring] 테스트 코드 / Lombok / application.properties

by mmm- 2023. 11. 1.

서비스를 배포하기 전 버그를 최대한 많이 찾아내기 위해 테스트를 많이 해야 함.

 

테스트 방법

  • 블랙박스 테스팅
    : 소프트웨어 내부 구조나 동작원리를 모르는 사용자 입장에서 웹 서비스의 동작은 검사하는 방법
    • 장점
      • 누구나 테스트 가능
    • 단점
      • 기능이 증가될수록 테스트의 범위 증가 (시간이 갈수록 테스트하는 사람이 계속해서 늘어나야 됨.)
      • 테스트하는 사람에 따라 테스트 퀄리티가 다를 수 있음 (QA 직군이 있는 이유)
  • 개발자 테스트
    : 개발자가 직접 본인이 작성한 코드를 검증하기 위해 테스트 코드를 작성하는 것
    • 장점
      • 빠르고 정확한 테스트 가능
      • 테스트 자동화가 가능
        • 배포시 테스트코드가 수행되어 동작 검증해줌
      • 리팩토링이나 기능 추가할 때 더욱 편리
    • 단점
      • 개발 시간이 오래 걸림
      • 유지보수 비용
    • 스프링에서는 테스트코드를 작성할 수 있는 환경을 제공해 줌. => 그 환경이 바로 " JUnit "

 

JUnit

: 자바프로그래밍 언어용 단위 테스트 프레임워크 

  • build.gradle 파일에서 JUnit에 대한 환경설정이 되어있는 것을 볼 수 있음
  • JUnit은 테스트 실행환경을 따로 가지고 있기 때문에 main 메서드나 서버를 따로 실행시키지 않아도(= main이 존재하지 않음.)  각각의 메서드 혹은 기능별로 테스트코드를 작성해 실행시킬 수 있음
  • JUnit5부터는 접근제어자를 넣지 않아도 됨.
  • 메서드를 실행시키려면 @Test 라는 annotation을 달아줘야 함.

 

테스트코드

  • 프로젝트를 생성할 때 test라는 경로가 미리 만들어져 있는 것을 확인할 수 있는데 테스트코드는 해당 경로 아래에 만들어주면 됨.
    클래스명 우클릭 > Generate > test ... > OK (단축키: Ctrl + Shift + T)

Lombok

: 자바 프로젝트를 진행할 때 필수적으로 필요한 메서드, 생성자 등을 자동으로 생성해 코드를 절약할 수 있도록 도와주는 라이브러리

 

설정 방법

: Ctrl + Alt + S > Annotation Processors 클릭 > Enabld annotation processing 클릭 > apply, ok 클릭 > shift 를 두 번 눌러 검색창에 plugins 작성하고 enter > Installed 클릭 > 검색창에 lombok 작성 > 오른쪽 화면 봤을 때 disable이 아니면 install 클릭

 

Lombok Annotation

@Getter

  • Lombok이 이 메서드를 어떻게 만들어주는지 확인 가능
  • 오른쪽 gradle에서 build를 눌러 컴파일 해주고 왼쪽에서 build.classes.java.main.Memo 클릭 > accept 클릭하면 컴파일된 파일을 보여주면 getter가 자동으로 추가된 것을 볼 수 있음.
  • getter 메서드 자동 생성

@Setter

  • setter 메서드 자동 생성

 

@AllArgsConstructor

  • 모든 필드를 가지고 있는 생성자를 만들어 줌

@NoArgsConstructor

  • 기본 생성자를 만들어 줌

@RequiredArgsConstructor

  • 요구되는 필드들을 가지는 생성자를 만들어 줌 (= final이 달린 필드를 가지는 생성자 생성)
  • required에 속하는 필드로 만들어주려면 final을 달아주면 됨.

application.properties

: 스프링과 관련된 설정을 할 때 사용되는 파일

  • resources밑에 존재
  • 자동으로 설정되어 있던 설정 값들을 해당 파일에서 쉽게 수정 가능
  • DB연결시 DB에 정보를 제공해야 할 때 해당 파일을 이용해 쉽게 값 전달 가능 
  • yml이라는 형식으로도 파일 관리 가능 하지만 Spring에서 기본적으로 설정하는 것이 X (스프링에서 기본적으로 설정하는 것은 properties)

 

apache tomcat 포트번호 변경

기본 설정되어 있는 포트번호 : 8080

server.port=8081

해당 파일에 이와 같이 적어주고 실행을 하면 포트번호가 바뀐 것을 확인할 수 있음.


용어정리

  • 버그
    : SW가 예상하지 못한 결과를 내는 것