-
스프링 프로젝트 - java-ims Mockito를 통한 Service 단위테스트와 도메인 단위테스트 다른 의미의 테스트임 : 같아보이지만 Service 계층을 테스트 하는 것과 도메인에 대한 단독 테스트는 다름 서버 자원을 사용하는 것과 일반 자바 객체를 테스트 하는 것에서 차이 삭제 기능 바로 삭제를 하지않고, 삭제 상태로 만들어놓음 : 삭제 상태로 변경된 엔티티를 또다른 엔티티(히스토리)로 만들어서 보관함 일정 기간이 지났을 때 엔티티를 실제로 삭제함 기록 또한 일정기간 보관 @Entity public class DeleteHistory { @Id @GeneratedValue(strategy = GenerationType.IDENTIFY) private long...
-
스프링 스프링 빈 생성과 DI 시점 : 모두 스프링이 시작될 때 컨테이너에 생성(streotype 어노테이션으로 스프링빈 설정)해두고 DI까지 모두 해둔 상태 스프링 빈은 무상태여야함 : 상태를 가지는 객체를 관리하면 개발자가 고려해야할 부분이 굉장히 많아짐(race condition) - 굳이? 할 필요가 없음, 멀티쓰레드 환경 임을 잊지 말아야함 TDD 테스트 주도 개발을 하면서 중간에 끝내고 이어나가려고 할 때 어떻게 알아보나? 실패 케이스가 아직 구현되지않았기때문에 실패 케이스인 것, 실패 케이스인 부분부터 개발을 하면 됨 레이어 구조 생각해봐야할 점 : DTO를...
-
TDD 시작하기 테스트 주도 개발! 요구사항, 결과 출력 화면만 보고 필요 객체, 설계를 예상하면서 만드는 궁예가 되지말자 기능 상 아주 작은 부분으로 쪼개서 실패 테스트 케이스를 작성하고 성공 케이스로 만들기위해 설계, 코드 리팩토링을 하자 한꺼번에 설계를 해두고 개발하는게 아니라 작은 기능부터 설계하고 개발하면서 설계를 리팩토링 하는 방식으로 개발하자는 것! TDD로 개발해보기 코드스쿼드 프로그래밍 미션을 일부 가져와서 TDD 예시를 들어보려한다. 로또 프로그램 진행 화면 : 당첨번호 6개를 입력받아 로또 인스턴스를 생성해야하는 과정이다. 지난 주 당첨 번호를...