소개
게시글
질문&답변
2020.12.11
안녕하세요 영한님
잘 안되네요 ㅠㅠ 영한님. 다른 분들은 해결 잘 되셨다는데 저만 계속 삽질하는 걸 보면 제 로컬 문제(맥)인거 같습니다. 1] 어째든 앱 뜰때 뜨는 testdb 는 뜨니 또르르... 2] 좀전에 로컬 mysql 되더군요. 일단 대체제로 요거 쓰면서 복습하면 될 듯 합니다 :) 오늘은 멘탈 털려서 다음에 정신 말짱해지면 다시 해보겠습니다 ㅋㅋㅋ. 좋은 주말 보내세요~
- 0
- 3
- 254
질문&답변
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
- 1.6K
질문&답변
2020.12.02
안녕하세요 영한님 질문있습니다.
1] 확인해보니 persist() 코드 있었네요. 객체 생성하고 em.persist 하는 부분 메소드로 뺐는데(제 소스) 졸려서 그랬는지 확인을 제대로 안했네요 하하(-_-;;;) ㅈㅅ합니다. >> 해당 코드가 없으면 member.getId() 했을 때 결과가 null입니다. 그래도 질문한 덕분에 이 내용은 다시는 안 까먹을 것 같습니다 ㅎㅎ 추가로 단위 테스트가 통과한 것은 예제 비즈니스 로직이라 체크 로직이 적어서 그렇습니다.(회원이 없어도 주문이 되어 버리는 것이지요.) >> 따라서 em.persist() 주석 처리하니, InvalidDataAccessApiUsageException 에러가 뜨더군요 감사합니다. 공부 많이 되었습니다.
- 0
- 2
- 175
질문&답변
2020.11.30
./h2.sh 실행시 퍼미션 에러가 뜨네요..^^ 참고하세요
감사합니다!
- 33
- 6
- 3.9K
질문&답변
2020.11.23
@Component와 @Bean의 차이점?
다른 분들 질의응답 보는것도 상당히 공부가 되어서 아주 좋습니다! 웹 mvc 강좌도 너무 기대되요 갓영한님 :)
- 17
- 6
- 619