묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
비즈니스 로직이 300라인 정도 되는데 단위 테스트를 어떻게 해야할까 고민인데 어떻게 하면 좋을까요!
300라인 정도 되는 비즈니스 로직이 있는데요.이 로직 안에는 데이터베이스 연동하는 부분과map / reduce 등으로 데이터를 변환하는 부분이렇게 섞여있는데 단위테스트를 구현하려다보니 어떻게 접근해야할지 막막하군요.. 안의 로직의 기능 별로 함수로 분리하여 처리하여 각 기능 별로 테스트를 처리하고이 로직은 실행 -> 결과만 단위 테스트들의 통합 테스트만 진행할지 고민이네요. 좋은 아이디어가 있으시다면 공유 부탁드려요 ㅠㅠ!!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Repository 단위테스트가 갖는 의미를 모르겠습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]단순히 HashMap, Item.setX 가 보장하는 동작을 메서드로 묶은 것 뿐인 save, findAll, updateItem 에 대한 단위테스트가 무슨 의미를 갖는지 모르겠습니다.HashMap.put을 통해 객체를 저장했고, 그 키 값으로 객체를 꺼내오면 당연히 savedItem = findItem 아닌가요? '1은 1이다.' 라는 무조건 참인 명제를 작성하는 것으로 느껴집니다.
-
미해결
스프링 단위 테스트 진행 및 통합 테스트 진행 문제 발생
안녕하세요스프링 강의를 듣고 공부한 내용을 연습삼아서 예제를 만들어보는데요. service 로직을 테스트하는데 오류가 걸려서 질문을 올립니다. 연습은 김영한 강사님의 스프링 강의를 참고하였습니다. --문제 DB를 적용하지 않은 MemoryRepository를 주입 후 searchById를 단위 테스트 진행시에는 성공하나, 전체 테스트를 진행하면 오류가 납니다. * 해당 테스트 부분 코드 * 단위 테스트 시 성공 * 전체 테스트 진행 시 오류 똑같이 객체를 생성해서 저장한 뒤, 해당 Id로 조회를 했으나 결과는 저장된 내용이 없다고 합니다. 저는 위 상황이 repository가 전체 테스트 진행시 리셋이 안됐다고 판단했습니다. 따라서 강의에서 배운대로 @AfterEach를 작성했지만, 여전히 오류에 걸리고 있습니다. 어느 부분을 놓치고 있는지 이유를 알 수 있을까요? (추가적으로 컨트롤러를 생성해서 실제로 구동할 때에는 문제가 없습니다.)
-
미해결스프링 핵심 원리 - 기본편
테스트의 중요성
안녕하세요. 고퀄리티 강의 항상 잘 듣고 있습니다. 테스트에 대한 중요성을 영상 중간중간 자주 역설하시는데. 테스트에 대해서만 깊게 학습하기 위해 참고할만 한 서적이나 영상(강의, 유튜브 등) 추천해 주실 만한건 없을까요~?
-
해결됨스프링 핵심 원리 - 기본편
ObjectProvider의 장점이 이해가 안됩니다
안녕하세요 선생님 이해가 안되는 부분이 있어 질문드립니다! "ApplicationContext에 비해 ObjectProvider는 기능이 단순하므로 단위테스트를 만들거나 mock 코드를 만들기는 훨씬 쉬워진다." 라는 말이 이해가 안됩니다.. 스프링 없이 순수 자바 코드만으로 단위 테스트할 경우, 테스트할 코드가 ApplicationContext에 의존하던, ObjectProvider에 의존하던 DL 기능을 사용할 수 없는 건 마찬가지 아닌가요? DL 기능을 구현한다고 하더라도 ApplicationContext이던 ObjectProvider이던 상관없지 않나요? 그래서 ApplicationContext이 아닌 ObjectProvider를 써야하는 이유를 잘 모르겠습니다!