- Today
- Total
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- iframe
- 함수
- 워드프레스
- 엘리멘터
- 워스프레스
- 문제해결
- 환경세팅
- 자바스크립트
- 오류해결
- pl/sql
- PROCEDURE
- sql
- wordpress
- 오라클
- 배열
- Hostinger
- dbeaver
- javascript
- JSP
- 클론코딩
- 프로시저
- PLSQL
- spring boot
- Oracle
- function
- 이클립스
- 트러블슈팅
Archives
개발 공부중
[Spring Boot] JUnit 테스트 클래스 예제 본문
테스트 코드 작성은 소프트웨어 개발의 중요한 부분이며, 코드의 신뢰성을 보장하는 데 큰 역할을 한다.
아래는 MemberService 인터페이스의 join() 메서드를 테스트하는 JUnit 테스트 클래스의 예제 이다.
MemberService.interface
package hello.core.member;
public interface MemberService {
void join(Member member);
Member findMember(Long memberId);
}
MemberServiceImpl.class
package hello.core.member;
public class MemberServiceImpl implements MemberService{
private final MemberRepository memberRepository = new MemoryMemberRepository();
//회원가입을 수행하는 메서드
@Override
public void join(Member member) {
memberRepository.save(member);
}
//특정 회원 id에 해당하는 회원정보를 조회하는 메서드
@Override
public Member findMember(Long memberId) {
return memberRepository.findById(memberId);
}
}
MemberServiceTest.class
package hello.core.member;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
public class MemberServiceTest {
MemberService memberService = new MemberServiceImpl();
@Test
void join(){
//given 이런 환경에서
Member member = new Member(1L,"memberA", Grade.VIP);
//when 이렇게 했을 때
memberService.join(member);
Member findMember = memberService.findMember(1L);
//then 이렇게 된다
Assertions.assertThat(member).isEqualTo(findMember);
}
}
위의 코드는 MemberService의 join() 메서드를 테스트하는 JUnit 테스트 클래스이다.
@BeforeEach 어노테이션을 사용하여 각 테스트 메서드 실행 전에 MemberServiceImpl의 인스턴스를 생성하는 작업을 수행한다. 그리고 @Test 어노테이션을 사용하여 실제 테스트 코드를 작성한다.
테스트 코드를 실행하면, 주어진 회원 정보를 회원 가입 메서드를 통해 저장한 후, 저장된 회원을 조회하여 예상 결과와 일치하는지 확인한다.
이렇게 JUnit을 활용하여 코드의 기능을 테스트함으로써 코드 변경 시 예상치 못한 버그를 사전에 찾아내고, 안정성을 높일 수 있다.
만약 JUnit을 활용하지 않았다면 아래처럼 하나하나 확인해야한다.
package hello.core;
import hello.core.member.Grade;
import hello.core.member.Member;
import hello.core.member.MemberService;
import hello.core.member.MemberServiceImpl;
//회원 도메인 실행과 테스트
public class MemberApp {
public static void main(String[] args) {
MemberService memberService = new MemberServiceImpl();
//new Member - ctrl + alt + v
Member member = new Member(1L, "memberA", Grade.VIP);
memberService.join(member);
//가입 확인하기
Member findMember = memberService.findMember(1L);
System.out.println("new member = " + member.getName());
System.out.println("find Member = " + findMember.getName());
}
}
//진짜 순수한 자바로 개발
'SPRING BOOT' 카테고리의 다른 글
[IntelliJ] 단위 테스트 생성 방법 (ctrl + shift + t ) (0) | 2023.08.17 |
---|
Comments