Search

반응형

'스프링'에 해당되는 글 4건

  1. 2021.10.24 [스프링 왕초보]3. Spring boot Test. 스프링 부트와 JUnit5로 웹 테스트(with)JUnit5
  2. 2021.10.11 [스프링 왕초보]1. Spring boot 처음 시작해봅니다. 1/2 (스프링 부트)
반응형

이제 개발에 앞서 TDD 환경을 구성해 보고 싶다.

스프링 부트에서 테스트 코드 작성하는 방법을 확인해본다.

TDD에 대한 포스팅은 다음에 공부를 좀 하고 정리해보자.

준비는 최신 스프링 부트(Spring Boot IDE)를 설치하고

JUnit5를 활용해보자.

먼저 Spring Starter Project로 프로젝트를 하나 만들어보자.

이름은 JUnitProject로 한다.

Dependencies는 위 사항으로 체크하고 Spring Web은 꼭 추가하자.

이제 Controller를 생성한다.

생성할 때 구성한 package에서 controller를 추가하고 

JUnitController.java를 생성한다.

마우스 우측 클릭해서 class를 추가하면 된다.

JUnitController가 생성되면 @RestController와 @GetMapping("/")을

클래스명과 메서드명에 추가해 준다.

해당 import도 같이 추가해준다.

@GetMapping의 값은 "/"로 했는데

localhost:8080/ 으로 접근이 가능하게 해 준다.

만약 /뒤에 다른 이름으로 접근하고 싶다면 지정해 준다.

예를 들어 @GetMapping("/abc")라고 지정하면

localhost:8080/abc로 URL을 브라우저(크롬 등)에 입력하면

해당 메서드 hello()가 실행된다.

이제 Boot Dashboard에서 local 하단에 방금 만든 JUnitProject를 선택하고

서버를 구동해 준다. (Re)Start를 클릭하거나 우측 클릭으로 해당 메뉴를 클릭하면 된다.

서버가 구동되었으면 console에 정상 로그가 나타난다.

그리고 브라우저(크롬 등)를 실행한 뒤 localhost:8080을 넣고 연결한다.

이제 기본 스프링 부트 프로젝트가 생성되었다.

이제 테스트 코드를 작성해보자.

src/test/java라는 디렉터리에 com.tiboy가 있고

하위에 JUnitProjectApplicationTests.java가 자동으로 생성되었음을 확인하자.

@SpringBootTest와 @Test 어노테이션도 보인다.

JUnitProjectApplicationTests.java에 우클릭해서 Run As를 선택하면 JUnit Test가 보인다.

클릭하면 테스트가 실행된다.

그럼 이렇게 JUnit탭이 활성화되고 테스트가 진행된다.

특별히 코딩한 부분이 없기에 오류 없이 진행되었다.

이제 @AutoConfigureMockMvc 어노테이션을 사용해서 테스트 코드를 작성해보자.

https://spring.io/guides/gs/testing-web/ 활용

@Autowired를 사용해서 MockMvc 객체를 주입하고

"Wow Hello!"를 출력하는지 비교하는 테스트 코드다.

.andDo(print()) 부분을 추가하면 console에 좀 더 정확한 정보를 확인할 수 있다.

이렇게 잘 나온다.

.andExpect(content().string(containsString("Wow Hello!")) 이 부분은

출력 값을 비교한다.

아래 코드를 보자.

hello()메서드는 return값이 "Wow Hello!"이다.

그럼 테스트 코드에서 값을 바꿔보면 어떻게 될까?

"Wow Hello!!"로 기존 결과값에 !를 하나 더 넣었다.

이제 테스트해보자.

Failures가 1개 발생했다.

바로! 한 개가 더 있다고 값이 다르다면서 에러를 보여준다.

정상적으로 테스트 코드가 잘 작동됨을 확인할 수 있다.

같은 코드 같지만 어노테이션이 바뀌었다.

@SpringBootTest @AutoConfigureMockMvc 이 두 개의 어노테이션이 빠지고

@WebMvcTest로 변경되었다.

첫 번째 구성은 전체 스프링 애플리케이션 컨텍스트가 실행되지만,

두 번째는 테스트 범위를 웹 레이어로만 지정하고

특히 특정 클래스만을 지정해서 테스트할 수도 있다.

@WebMvcTest(JUnitController.class)처럼 말이다.

이제 기본적인 테스트 코드 환경을 만들고 실행도 해봤다.

기존 책들은 JUnit4 기준으로 되어 있기에 JUnit5 기준으로 소스를 구성해 봤다.

참고로 JUnit4는 vintage이고 JUnit5는 jupiter이다.

이번 포스팅은 여기까지~

반응형
반응형

스프링을 활용하는 방법이 몇가지가 있다.

그 중 이클립스를 활용해서 STS(Spring Tool Suite) 플러그인을 설치하는 방법이 있고,

spring.io에 가서 툴을 다운로드 받아도 된다.

그럼 시작해본다.

 

1. 폴더를 만들자.

 

원도우즈 10 환경에서 설정을 시작해 본다.

이렇게 C 드라이브에 workspace 폴더를 생성한다.

초기 노트북 구매시 디스크 분할을 하지 않았기에 C에 생성했다.

 

2. 스프링 사이트로 고고~(spring)

스프링을 하려면 공식 사이트에 가야지.

google에서 검색하니 바로 해당 사이트가 1순위로 조회된다.

그럼 클릭하고 들어가보자.

깔끔하게 영어?로 된 사이트가 나온다.

번역하지 말고 그대로 사용하면 좋다. 

배우러 왔으니 Learn에 마우스를 올리니 메뉴가 나온다.

빠른 진행이 필요해서 Quickstart를 클릭한다. 뭔가 어색한 설정이지만..

통합 개발 환경(IDE, Integrated Developer Environment)은 Intellij, Sprint Tools, VS Code, Eclipse 등으로 

선택하면 된다고 한다.

그리고 우측 하단을 보면 A Java Development Kit(JDK)가 필요하다고 하는데

오라클의 JDK를 받으면 좋겠지만 여기서는 AdoptOpenJDK (오픈JDK) 8 또는 11버전을 권장한단다.

그래서 AdoptOpenJDK를 클릭해서 설치해보자.

 

3. OpenJDK 받고 설치하기.

spring.io > learn > Quickstart에서 파란색 AdoptOpenJDK 글자를 클릭한다.

그럼 위 사이트로 이동하게 되고

OpenJDK(오픈JDK)를 다운로드 받을 수 있다.

조금만 내려가면 이런 화면이 나온다.

11버전에 HotSpot를 선택한다.

자세히 번역해 보니 AdoptOpenJDK가 다른곳으로 이동했단다.

그래서 파란 다운로드 버튼을 클릭하면 새로운 위치로 이동한단다.

adoptium.net으로 클릭해서 이동~

정말 다른 사이트로 이동했다.

다시 11버전을 클릭하고 아래로 스크롤하자.

Latest release (jdk-11.0.12+7) 파란색 버튼을 클릭하면 다운로드가 시작된다.

167Mb네.

이제 다운로드 위치로 이동해보자.

이제 실행해서 설치해 보자.

실행하면 이런 화면이 뜬다.

영어를 읽어보니 Eclipse Temurin JDK with Hotspot 11.0.12+7(x64)로 설치된단다.

이클립스로 넘어간 듯 한다.

Next를 클릭한다.

경로가 나오는데 넘 깊이 들어간다.

난 원래 C: 아래 두는 걸 좋아해서 아래처럼 변경한다.

Browse...를 클릭해서 원하는 위치로 변경한다. 그냥 설치하고 싶으면 Next...

이제 Install을 클릭해서 설치를 진행한다.

권한을 물으면 예를 클릭하면 아래처럼 진행된다.

 

이렇게 설치가 완료되면 아래와 같은 화면이 나온다.

설치가 완료되었으니 Finish를 클릭한다.

이제 OpenJDK가 잘 설치되었는지 확인해보자.

윈도우즈 우측 하단 "검색하려면 여기에 입력하십시오."에 cmd를 입력하고 실행합니다.

그럼 아래와 같은 창이 나타나고

다음 명령어를 입력해봅니다.

java -version

정상적으로 설치가 되었다면 이렇게 조회가 된다.

기본 설정을 세팅했으니 이제 IDE를 설치해보자.

그런데 넘 길게 썼다.

다음 포스팅에서 IDE 설치부터 샘플 실행까지 진행해보자.

투 비 컨티뉴~

반응형