Spring관련 기술

요구사항 가게 운영 시간(10:00 ~ 22:00) 외에는 주문을 생성할 수 없다. 테스트 하기 어려운 영역이란? 관측할 때마다 다른 값에 의존하는 코드 현재 날짜/시간, 랜덤 값, 전역 변수/함수, 사용자 입력 등 외부 세계에 영향을 주는 코드 표준 출력, 메세지 발송, 데이터베이스에 기록하기 등 "현재 가게 운영 시간 외에는 주문을 생성할 수 없다" 라는 요구사항은 현재 시간이 계속 변경되기 때문에 관측할 때마다 다른 값에 의존하는 코드라고 볼 수 있다. 테스트 하기 쉬운 영역이란? 순수함수(pure functions) 같은 입력에는 항상 같은 결과 외부 세상과 단절된 형태(DB) 테스트하기 쉬운 코드 구현코드 https://github.com/beginner0107/cafekiosk/commit/8..
요구사항 추가 한 종류의 음료 여러 잔을 한 번에 담는 기능 키오스크 생각해보면, 메뉴 하나를 선택한 다음에 수량을 입력해서 5잔이면, 그에 맞게 [수량 * 가격]으로 주문할 금액이 정해지게 된다. 테스트 케이스 세분화하기 해피 케이스 (요구사항 -> 개발자가 잘 이해한 경우) 예외 케이스 (요구사항 -> 암묵적 요구사항) 암묵적 요구사항이란? 아메리카노 0개 입력을 했을 때 어떻게 대처할 것인가? 숫자를 음수를 입력했을 때 어떻게 할 것인가? 상식적으로는 바로 떠올리기 쉽지 않지만, 충분히 일어날 수도 있는 상황 이런 케이스들을 다 막아야 꼼꼼한 테스트와 프로덕션 코드가 완성이 될 수 있음!! 경계값 테스트 (중요) 범위(이상, 이하, 초과, 미만), 구간, 날짜 등 구현코드 https://github..
단위 테스트란? 작은 코드 단위를 독립적으로 검증하는 테스트 작은 코드 단위란? 클래스, 메서드 검증 속도가 빠르고, 안정적이다. JUnit 5 라이브러리를 통해 검증 JUnit 5 단위 테스트를 위한 테스트 프레임워크 XUnit - Kent Beck -> (Sunit[Samlltalk], JUnit[Java], NUnit[.NET]), ... https://junit.org/junit5/docs/current/user-guide/ JUnit 5 User Guide Although the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runners natively, it..
간단하게 예제로 Cafe Kiosk를 구현하면서 알아볼 예정 주문 목록에 음료 추가/삭제 기능 주문 목록 전체 지우기 주문 목록 총 금액 계산하기 주문 생성하기 구현 코드 https://github.com/beginner0107/cafekiosk/commit/f04dd3a5eb4ad38f5ae59d2994d0c7a7f691c61d Initial commit · beginner0107/cafekiosk@f04dd3a beginner0107 committed Dec 10, 2023 github.com 간단하게 설명하자면, [주문, 음료] 객체가 존재하고 이를 관리하는 [CafeKiosk] 객체가 존재한다 CafeKiosk(주문받고 금액 계산해주고, 주문 취소하고 등등 역할을 하는)를 테스트 하고자 한다. @..
테스트 코드에 대한 생각 취업 전에 간단하게 책이나 강의에서 작성하라고 하기에 작성해본 경험이 끝이였다. 현재 회사에서는 테스트 코드라는 것을 작성하지 않고 UI/UX적으로 계속 테스트를 해본 후 산출물을 작성해서 이 기능이 제대로 동작한다. 라는 것을 증명했다. 사실 그래서 기능구현에도 빠듯한 와중에 테스트 코드를 작성할 시간이 남지 않고, 차라리 막 눌러보면서 수동으로 테스트를 해보는게 더 빨라보인다. 그래서 사실 왜 공부해야하는가? 의문이 있다. (현재 하고 잇는 사이드 프로젝트에 제대로 도입해보고 싶은 마음?) 공부해서 잘 사용해보고 싶은 마음이 있다.!! 테스트 코드를 써야 하는 이유? 프로덕션 코드를 배포 -> 제품 출시 내가 만든 게 잘 돌아가는지 버그는 없는지 예상한대로 결과가 나오는지 확..
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.coblog.api.request.PostCreate]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.coblog.api.request.PostCreate` (no ..
솜사탕코튼
'Spring관련 기술' 카테고리의 글 목록 (7 Page)