inflearn logo
강의

講義

知識共有

本当! Spring BootとJPAの活用1 - Webアプリケーション開発

会員機能テスト

fail() 예외를 try -catch로 잡아도 에러 발생

719

yho79555681

投稿した質問数 8

0

예외를 try -catch로 잡아도 에러 발생하는데

이런 경우에는 어떻게 해야할까요?

 

웹앱 JPA spring-boot java spring

回答 2

1

OMG

안녕하세요. 유현욱님, 공식 서포터즈 OMG입니다.

Assertions.fail()과 Assert.fail()의 실패 시 메커니즘 차이인 것 같아요.

Assert.fail()로 하니까 성공하더라구요 ^^

image

감사합니다.

0

yho79555681

OMG님 귀찮게 똑같은 질문해서 죄송합니다.. Assert로 된다고 하셔서 import 다른걸로 바꿔서 해봤고, PDF파일 코드복붙도 했고, 인터넷 서칭도 해봤는데 도저히 해답이 안나와서 또 질문올립니다.....

Juint 4 ,5 다 시도 해봤습니다....

계속 똑같은 에러가 뜨네요..

1

OMG

package jpabook.jpashop.service;

import jpabook.jpashop.domain.Member;
import jpabook.jpashop.repository.MemberRepository;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import javax.persistence.EntityManager;

import static org.junit.Assert.*;

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class MemberServiceTest {

    @Autowired MemberService memberService;
    @Autowired MemberRepository memberRepository;
    @Autowired EntityManager em;

    @Test
    public void 회원가입() throws Exception {
        //given
        Member member = new Member();
        member.setName("kim");

        //when
        Long savedId = memberService.join(member);

        //then
        assertEquals(member, memberRepository.findOne(savedId));
    }

    @Test
    public void 중복_회원_예외() throws Exception {
        //given
        Member member1 = new Member();
        member1.setName("kim");

        Member member2 = new Member();
        member2.setName("kim");

        //when
        memberService.join(member1);
        try {
            memberService.join(member2); //예외가 발생해야 한다!!!
        } catch (IllegalStateException e) {
            System.out.println("test실패");
            return;
        }

        //then
        Assert.fail("예외가 발생해야 한다.");
    }
}

이 코드로 확인해보시겠어요?

0

yho79555681

끝까지 답변 주신 OMG님 감사합니다. ㅠㅠ 드디어 고쳤네요. 아무리 봐도 제가 코드 잘못친거 같아서 PDF파일에 있는거 복붙 해봤더니 고쳐졌습니다. 감사합니다~~ 좋은하루보내세요

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

21

1

sdk 설정 오류

0

59

2

오탈자 - @Transactional

0

58

1

src/test/resources 테스트 경로 문제

0

54

1

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

0

67

1

MemberRepositoryTest 실행오류

0

83

1

boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)

1

186

2

강의 마지막 QueryDSL 사용 부분 질문있습니다

1

146

2

클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.

0

54

1

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

0

77

1

기본 생성자

0

62

1

h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.

0

104

1

멤버서비스테스트 부분에서 막힙니다.

0

168

4

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

0

118

1

초반에 h2 다운로드 과정 꼭 필요한가요?

0

122

2

자신 필드에도 get으로 접근하는 이유가 있을까요?

0

115

1

24분 27초 연관관계 편의 메서드 위치

0

114

1

단건 주문만 가능하게 한건 의도한 부분이신가요?

0

112

2

빌드 툴, Gradle

0

61

1

h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다

0

78

2

Repository에서 EntityManager 주입 방식 차이

0

91

1

롬복과 사용자 정의 setter 메서드

0

74

1

주문 목록 조회 fetch join 질문드립니다

0

85

1

dirty checking 질문드립니다.

0

84

1