강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yho79555681
yho79555681

câu hỏi đã được viết

Trong thực tế! Sử dụng Spring Boot và JPA1 - Phát triển ứng dụng Web

Kiểm tra chức năng thành viên

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

Viết

·

702

0

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

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

 

웹앱JPAspring-bootjavaspring

Câu trả lời 2

1

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

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

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

image

감사합니다.

yho79555681님의 프로필 이미지
yho79555681
Người đặt câu hỏi

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

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

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

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님의 프로필 이미지
yho79555681
Người đặt câu hỏi

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

Hình ảnh hồ sơ của yho79555681
yho79555681

câu hỏi đã được viết

Đặt câu hỏi