분류 전체보기69 [1주차 / 숫자야구] 1. 설계 프로젝트를 시작하며 가장 먼저 고민한 부분은 "어떻게 기능들을 분리하여 개별적인 클래스들을 구성할 수 있을까?" 라는 고민이었다. 아래는 README.md를 작성하기 전 생각했던 것들이다. 가장 먼저, 숫자 야구의 흐름을 생각해 보자. 상대방(컴퓨터)는 랜덤한 3개의 중복되지 않는 숫자를 선택한다. 사용자는 3개의 중복되지 않는 숫자를 입력한다. 상대방은 사용자의 입력과 정답을 비교하고, 결과를 알려준다. 사용자의 입력이 정답이라면 게임 종료, 그렇지 않다면 2번으로 돌아간다. 위의 흐름에서 3개의 큰 객체들을 분리했다. Computer 각 게임에서 사용될 정답을 랜덤으로 선택한다. 사용자의 입력과 정답을 비교하고, 결과를 알려준다. Player 사용자의 입력을 처리한다. 게임 중 : 3 개의 중복되지 .. 2023. 10. 21. 0. 카테고리 설명 해당 카테고리에서는 나의 직접적인 코드를 나열하지는 않을 생각이다. 내가 이 카테고리에서 공유하고 싶은 건 "내가 얼마나 코드를 잘 짰는가?" 가 아닌, "어떤 생각을 하며 과제를 진행했는가?" 이기 때문이다. 다만, 우리는 모두 프로그래머이기에 생각만 나열한다면 굉장히 추상적인 글이 될 것 같아, 중간중간 필요한 경우 코드를 첨부하거나, 매 포스팅마다 gitHub Repository는 공유해 둘 생각이다. 각각의 포스팅은 과제를 진행하며 비공개로 올려 두었다가, 과제가 끝난 이후 공개로 전환할 생각이다! 함께 4주동안 함께 성장해 봅시다!! 파이팅 :) 2023. 10. 21. BindingResult 테스트하기 BindingResult는 Spring에서 제공하는 인터페이스로, 폼 데이터의 검증 결과를 담기 위해 사용한다. 우리가 SpringMVC를 구현했다고 가정하자. 우리는 컨트롤러가 검증 로직을 잘 수행하는지 테스트 하고 싶다. 컨트롤러는 필드 에러들을 BindingResult에 담기 때문에, BindingResult 객체를 테스트코드에서 받아올 수 있다면 검증 로직의 수행 결과를 쉽게 확인할 수 있을 것이다. 간단한 코드 설명 내가 현재 진행중인 코드 중 일부를 간단하게 수정해 살펴보자. 모델 우선, 검증을 수행할 클래스이다. @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Model { @NotBlank private String .. 2023. 10. 17. 5-4. 회원 기능 통합 테스트 MockMVC Controller에 HTTP 요청을 만들어 전송하기 위해서 MockMVC를 사용해 주었다. 테스트 클래스에 다음의 두 어노테이션을 추가해 준다. @SpringBootTest @AutoConfigureMockMvc @AutoConfigMockMVC는 객체를 JSON타입으로, JSON 타입을 객체로 변환해 주기 위한 ObjectMapper와 임의의 HTTP 요청을 만들어 줄 MockMVC를 사용하기 위해 추가한다. 통합 테스트를 진행하기 위해 각각의 스프링 빈은 의존관계 주입이 진행되어야 하기에 @SpringBootTest를 사용해 주었다. 만약 @SpringBootTest를 사용하지 않으면 @Autowired를 사용해 UserController 객체를 가지고 오더라도 해당 객체 내부에 존재.. 2023. 9. 28. 이전 1 2 3 4 5 6 7 ··· 18 다음