[JUnit]테스트 코드 배우기(2)

gamja·2023년 1월 12일
0
post-thumbnail

저번 시간에는 테스트 코드의 기초를 너무 모른 상태에서 실습영상을 보니 이해가 하나도 가지 않아서 기초 영상을 보면서 차근차근 이해해보려 한다.

🚫지금 공부하는 건 정석적인 TDD는 아니고, 단순히 JUnit을 통해 테스트 하는 법이다.

  • 강의에서 진행되는 개발 과정
    개발 - 본코드 - Junit 테스트 코드 작성 - 본코드 수정

  • 개발 과정 정석
    개발 - Junit 테스트 코드 작성 - 오류가 발생할 수 있는 가능성 테스트(오류) - 수정 - 본코드


Visual Studio Code에서 Spring Boot - gradle 프로젝트 생성하기

  1. 명령 팔레트(f1)
  2. Spring Initializr : Create a Gradle Project 선택
  3. 2.7 버전 선택
  4. java 선택
  5. 그룹명 작성
  6. 프로젝트명 작성
  7. 패키지 타입 : jar 선택
  8. 자바 11버전
  9. dependencies 선택
    • Spring Boot DevTools
    • Lombok
    • Spring Web
    • Spring Data JPA
    • database (자신의 DB에 맞게 선택 - 이 강의에서는 h2 사용)

yml 설정

  • application.properties명을 application.yml으로 변경해준다.
  • application.yml을 두 번 복사하여 application-dev.yml이랑 application-prod.yml을 만들어준다.

application.yml

spring:
  profiles:
    active:
    - dev

application-dev.yml을 사용하겠다.

application-dev.yml

server:
  port: 8080
  servlet:
    context-path: /
    encoding:
      charset: utf-8

spring:
  datasource:
    url: jdbc:h2:mem:test
    driver-class-name: org.h2.Driver
    username: sa
    password: 
  h2:
    console:
      enabled: true
  jpa:
    open-in-view: true
    hibernate:
      ddl-auto: create
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    show-sql: true
    properties:
      '[hibernate.format_sql]': true

  output:
    ansi:
      enabled: always

logging:
  level:
    '[org.springframework.web]': DEBUG
    '[org.hibernate]': DEBUG

ddl-auto : create 를 설정해둠으로써 Entity를 설정해두면 타입과 변수명에 맞게 테이블이 자동 생성된다.

application-prod.yml

server:
  port: 5000
  servlet:
    encoding:
      charset: utf-8

spring:
  datasource:
    url: jdbc:mariadb://${rds.hostname}:${rds.port}/${rds.db.name} 
    driver-class-name: org.mariadb.jdbc.Driver
    username: ${rds.username}
    password: ${rds.password}

  jpa:
    open-in-view: true
    hibernate:
      ddl-auto: none
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

logging:
  level:
    '[org.springframework.boot.web]': INFO

메타코딩 - Junit 강의 참고
https://cafe.naver.com/metacoding

profile
눈도 1mm씩 쌓인다.

0개의 댓글

관련 채용 정보