Spring Projcect/날씨 일기 프로젝트

Chapter 02. 프로젝트 준비하기

계란💕 2022. 8. 30. 02:56

2.1 Spring Initializer

 

Spring Boot 프로젝트 생성하기

  • start.spring.io
  • 이클립스 / 인텔리제이

 

빌드 관리 도구 - 라이브러리 관리, 빌드 및 실행

  • Maven Project: 
  • Gradle Project: 

 

Spring Initializer

  • 그룹: 회사 이름
  • 개인: 블로그 도메인명을 쓰기도 한다.
  • Artifact:  프로젝트 이름 
  • Jar(Java Archive - 백엔드 서버만 만드는 경우 적합)  vs War(Web Archive - 웹 어플리케이션 관련 내용 추가)
  • LTS(Long Term Service): 8, 11, 17만 해당된다.
  • lombok, Spring Web(API 서버를 만드려면 필수) 디펜던시 추가

 

 

 

2.2 프로젝트 구동 시키기

  - build.gradle을 통해 프로젝트를 연다.

 

 

 

2.3 프로젝트 구조 알아보기

프로젝트 구조

  • .gradle처럼 '.'이 붙으면 숨김 파일이다.
    • gradle: 아래에 래퍼 폴더가 있다.
  • .idea: 인텔리제이가 켜질 때 쓰이는 파일이다.
  • .gitignore: 무시할 파일 리스트 명시 가능
  • src
    • main
      • java
      • resources
    • test

 

 

2.4 테스트 코드 작성하기

 

TDD(Test Driven Development) - 테스트 주도 개발

  • 테스트를 먼저 만들고 테스트를 통과하기 위한 코드를 짜는 것
  • 테스트 코드 작성 => (날씨 데이터 받아오는 코드 작성 => 테스트 코드 실행 ) 반복한다.

 

JUnit 라이브러리에 있는 assert 메서드

  • assertSame(a, b): 객체 a, b가 같은 객체임을 확인한다. 객체 자체를 비교한다.
  • assertEquals(a, b): 객체 a, b가 일치함을 확인한다.객체에 정의된 equals를 통해 비교한다.
  • assertArrayEquals(a, b): 배열 a, b가 일치하는지 확인한다.
  • assertTrue(a): a가 참인지 확인한다.
  • assertNotNull(a): null인지 확인한다.

 

  Ex)

<hide/>
package zerobase.weather;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class WeatherApplicationTests {

	@Test
	void equalTest() {
		assertEquals(1, 1);
	}
	
	@Test
	void nulLTest() {
		assertNull(null);
	}
	
	@Test
	void trueTest() {
		assertTrue(1 == 1);
	}
}

  Note) 실행 결과 - 통과