소개
게시글
질문&답변
2020.12.11
안녕하세요 영한님
잘 안되네요 ㅠㅠ 영한님. 다른 분들은 해결 잘 되셨다는데 저만 계속 삽질하는 걸 보면 제 로컬 문제(맥)인거 같습니다. 1] 어째든 앱 뜰때 뜨는 testdb 는 뜨니 또르르... 2] 좀전에 로컬 mysql 되더군요. 일단 대체제로 요거 쓰면서 복습하면 될 듯 합니다 :) 오늘은 멘탈 털려서 다음에 정신 말짱해지면 다시 해보겠습니다 ㅋㅋㅋ. 좋은 주말 보내세요~
- 0
- 3
- 338
질문&답변
2020.12.09
EntityManager를 사용하는 Repository의 단위 테스트는 어떻게 수행하나요?
저도 궁금했던 부분인데 대신 질문해주셨네요! 처음 목 써보는거라 허접하긴 한데, 아래 같은 컨셉으로 목을 쓰는건지 궁금하네요. ps] autowired 필드 주입 안티패턴이라고, final,requiredargsconstructor 쓰는거 핵심원리 강좌에서 애기해주셧는데, 왜 그리해야 하는지 실감나네요) import static org.junit.jupiter.api.Assertions.assertEquals;import static org.mockito.BDDMockito.given;import java.util.ArrayList;import java.util.List;import jpabook.jpashop_v2.domain.Member;import jpabook.jpashop_v2.repository.MemberJpaRepository;import jpabook.jpashop_v2.service.MemberService;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.junit.jupiter.api.extension.ExtendWith;import org.mockito.Mock;import org.mockito.junit.jupiter.MockitoExtension;@ExtendWith(MockitoExtension.class)public class MemberServiceMockTest {// @InjectMocks private MemberService memberService; @Mock private MemberJpaRepository memberRepository; @BeforeEach void setup() { memberService = new MemberService(memberRepository); } @Test @DisplayName("mockito 레포지토리 테스트") void mockMemberRepositoryTest() { //given Member member1 = Member.builder().name("mock1").age(20).build(); List members = new ArrayList(); members.add(member1); given(memberRepository.findAll()).willReturn(members); //when List findMembers = memberRepository.findAll(); System.out.println("findMembers = " + findMembers); //then assertEquals(1, findMembers.size()); assertEquals(member1.getName(), findMembers.get(0).getName()); } @Test @DisplayName("mockito service 테스트") void mockMemberServiceTest() { //given Member member1 = Member.builder() .name("mock유저1") .age(20) .build(); List members = new ArrayList(); members.add(member1); given(memberRepository.findAll()).willReturn(members); //when List findMembers = memberService.findAll(); System.out.println("memberAll = " + findMembers); //then assertEquals(member1.getName(), findMembers.get(0).getName()); }}
- 3
- 2
- 2K
질문&답변
2020.12.02
안녕하세요 영한님 질문있습니다.
1] 확인해보니 persist() 코드 있었네요. 객체 생성하고 em.persist 하는 부분 메소드로 뺐는데(제 소스) 졸려서 그랬는지 확인을 제대로 안했네요 하하(-_-;;;) ㅈㅅ합니다. >> 해당 코드가 없으면 member.getId() 했을 때 결과가 null입니다. 그래도 질문한 덕분에 이 내용은 다시는 안 까먹을 것 같습니다 ㅎㅎ 추가로 단위 테스트가 통과한 것은 예제 비즈니스 로직이라 체크 로직이 적어서 그렇습니다.(회원이 없어도 주문이 되어 버리는 것이지요.) >> 따라서 em.persist() 주석 처리하니, InvalidDataAccessApiUsageException 에러가 뜨더군요 감사합니다. 공부 많이 되었습니다.
- 0
- 2
- 234
질문&답변
2020.11.30
./h2.sh 실행시 퍼미션 에러가 뜨네요..^^ 참고하세요
감사합니다!
- 36
- 7
- 4.5K
질문&답변
2020.11.23
@Component와 @Bean의 차이점?
다른 분들 질의응답 보는것도 상당히 공부가 되어서 아주 좋습니다! 웹 mvc 강좌도 너무 기대되요 갓영한님 :)
- 17
- 6
- 943