소개
게시글
질문&답변
2022.03.23
회원 리포지토리 테스트케이스 작성 편에서 clearStore() 시 질문
이것은 MemoryMemberRepository class 입니다. clearStore() 메서드에서 sequence 초기화 하지 않았을 때 테스트가 깨졌습니다. 따져보면 검증코드 실행 전에 깨진다고 볼 수 있겠네요. 아이디가 초기화 되지 않아서 Member.id == 1L 인 학생이 없으니까요. (사진) package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepository { private static Map store = new HashMap(); private static long sequence = 0L; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional findById(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List findAll() { return new ArrayList(store.values()); } public void clearStore() { // sequence = 0L; store.clear(); } }
- 0
- 3
- 548
질문&답변
2022.03.23
회원 리포지토리 테스트케이스 작성 편에서 clearStore() 시 질문
테스트 코드입니다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach public void afterEach() { repository.clearStore(); } @Test void save() { Member member = new Member(); member.setName("mike"); repository.save(member); Member saved_member = repository.findById(1L).get(); assertThat(saved_member).isSameAs(member); } @Test void findByName() { Member member1 = new Member(); member1.setName("dave"); repository.save(member1); Member member2 = new Member(); member2.setName("camel"); repository.save(member2); Member saved_member = repository.findByName("dave").get(); assertThat(saved_member).isSameAs(member1); } @Test void findAll() { Member member1 = new Member(); member1.setName("dave"); repository.save(member1); Member member2 = new Member(); member2.setName("camel"); repository.save(member2); List memberList = repository.findAll(); Assertions.assertThat(memberList.size()).isEqualTo(2); } }
- 0
- 3
- 548
질문&답변
2020.06.10
profile 적용 관련 질문입니다.
하아, 문제를 확인했습니다. SpringApplication.run() method 실행할 때 argument를 받아올 수 있도록 main method에서 받아온 args 변수를 전달했어야 하는데 빼먹었군요. 정말 저걸 빼먹었을 거라고는 상상도 못했습니다. ^^; 바로 알려주시지 않고 찾아보도록 배려해주셔서 감사합니다.
- 0
- 6
- 237
질문&답변
2020.06.06
profile 적용 관련 질문입니다.
문제가 있었던 프로젝트를 공유해 드립니다. https://github.com/camel-master/SpringBootExample.git
- 0
- 6
- 237
질문&답변
2020.05.08
본 강의 완강 후 후속 강의 선택 질문
답변 감사합니다. Spring boot 부터 수강해보도록 하겠습니다.
- 0
- 2
- 242