본문 바로가기
강의•참고서/[Spring]스프링핵심원리

스프링부트 시작하기 TDD 와 단위테스트, 테스트 코드 작성법,롬복LOMBOK사용법

by 코딩하임 2022. 3. 16.
728x90
반응형

스프링부트 시작하기 TDD 와 단위테스트, 테스트 코드 작성법,롬복LOMBOK사용법

반응형

스프링부트에서 테스트 코드 작성하기

 

예전부터 테스트 코드에 대한 이야기가 많이 있었다고 한다.

견고한 서비스를 만들기 위해 개발자 또는 팀에서는 TDD를 하거나 최소한의 테스트 코드는

꼭 작성했었다.

 

하지만, 여러 이유로 테스트 코드를 진행하지는 않았었는데,

최근 채용공고를 보면 대부분의 서비스 회사가 테스트 코드하는 것을 요구하고 있다.

어떤 회사에서는 코딩 테스트를 알고리즘이 아닌 프로젝트를 만들고, 단위 테스트를 필수조건으로 두기도 했다.

그만큼 요즘 선망하는 서비스회사의 취업과 이직을 위해서는 테스트 코드는 절대적으로 중요해졌다.

 

먼저, 단위테스트는 TDD와는 다르다.

TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것인데, 위키피디아에서는 다음과 같은 장점을 나열했다.

  • 개발단계 초기에 문제를 발견하게 도와준다.
  • 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인 할 수 있다.
  • 기능에 대한 불확실성을 감소시킬 수 있다.
  • 시스템에 대한 실제 문서를 제공한다. 즉, 단위 테스트 자체가 문서로 사용할 수 있다.

 

스프링부트 설정 시 유의점

보통은 스프링 이니셜라이저(https://start.spring.io/)를 통해서 진행한다.

하지만, 스프링 이니셜라이저를 사용하게 되면 build.gradle의 코드가 무슨 역할을 하는지, 이니셜라이저 외에 추가로 의존성 추가가 필요하면 어떻게 해야 할지 등을 모르는 상태로 개발하는 경우가 있기 때문에, 하나씩 코드를 작성하면서 어떤 역할을 하는지 이해하는 것이 좋다.

 

buildscript {
  ext {
    springBootVersion = '2.0.5.RELEASE'
  }
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
  }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.jojoldu.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
  mavenCentral()
}

dependencies {
  compile('org.springframework.boot:spring-boot-starter-web')
  testCompile('org.springframework.boot:spring-boot-starter-test')
}

 

[깃 연동하는 방법]

인텔리제이에서 깃과 깃허브 사용하기

윈도우 : [Ctrl +Shift + A]

MAC : [Command + shift + A]

검색창 열고 share project on github 입력 -> 깃허브 로그인/없으면 회원가입

패키지

package com.heim.project;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
  public static void main(String[] args){
    SpringApplication.run(Application.class,args);
  }
}

Controller

package web;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

  @GetMapping("/Hello")
  public String hello(){
    return "hello";
  }
}

 

 

롬복 Lombok 

 

자바 개발자들의 필수 라이브러리 롬복

롬복은 자바 개발할 때 자주 사용하는 코드인 Getter , Setter, 기본생성자, toString 등을 어노테니션으로

자동 생성해준다.

이클립스의 경우 롬복 설치가 번거롭지만, 인텔리제이에선 플러그인 덕분에 쉽게 설치가 가능하다.

 

dependencies {
  compile('org.springframework.boot:spring-boot-starter-web')
  compile('org.projectlombok:lombok')
  testCompile('org.springframework.boot:spring-boot-starter-test')
}

 

플러그인을 들어가서 lombok을 검색하고 설치한 후 재시작 해주면 된다.

 

 

728x90
반응형