
log.debug()로 직접 결과를 확인했지만, assert를 활용하면 테스트를 자동화할 수 있다.assertNotNull(객체)null이 아니어야 테스트 성공Member output = memberService.getItem(input);
assertNotNull(output); // output이 null이면 테스트 실패!selectItem()을 실행했는데 null이면 문제가 있는 것이다!assertEquals(기대값, 실제값)assertEquals("박지민 (수정)", output.getUserName());userName이 정상적으로 업데이트되었는지 검증 가능!assertFalse(조건식) / assertTrue(조건식)assertFalse(조건식): 조건이 false여야 테스트 성공assertTrue(조건식): 조건이 true여야 테스트 성공List<Member> output = memberService.getList(null);
assertFalse(output.isEmpty()); // 리스트가 비어있으면 테스트 실패!✔ 자동 검증:
if(output != null) { System.out.println("테스트 성공!"); } 같은 코드 없이 자동 체크!assertNotNull(output);에서 output이 null이면 바로 오류 발생assert를 기반으로 테스트 결과를 명확하게 보여줌Member output = memberService.getItem(input);
log.debug("조회된 회원: {}", output);
Member output = memberService.getItem(input);
assertNotNull(output);
output이 null이면 테스트가 자동으로 실패함! 🚀수정 전 MemberMapperTest.java
package kr.project.yuju.mappers;
import java.util.List;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import kr.project.yuju.models.Member;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@SpringBootTest
public class MemberMapperTest {
@Autowired
private MemberMapper memberMapper;
@Test
@DisplayName("회원 추가 테스트")
void insertMember() {
Member input = new Member();
input.setUserName("최지나");
input.setUserId("jina.choi@test.com");
input.setUserPw("pass123!");
input.setAdmin("N");
int output = memberMapper.insert(input);
log.debug("output: {}", output);
log.debug("new id: {}", input.getMemberId());
}
@Test
@DisplayName("회원 수정 테스트")
void updateMember() {
Member input = new Member();
input.setMemberId(2);
input.setUserName("최지나 (수정)");
input.setUserPw("newPass123!");
input.setAdmin("N");
int output = memberMapper.update(input);
log.debug("output: {}", output);
}
@Test
@DisplayName("회원 삭제 테스트")
void deleteMember() {
Member input = new Member();
input.setMemberId(2);
int output = memberMapper.delete(input);
log.debug("output: {}", output);
}
@Test
@DisplayName("하나의 회원 조회 테스트")
void selectOneMember() {
Member input = new Member();
input.setMemberId(2);
Member output = memberMapper.selectItem(input);
log.debug("output: {}", output);
}
@Test
@DisplayName("회원 목록 조회 테스트")
void selectListMember() {
List<Member> output = memberMapper.selectList(null);
for (Member item : output) {
log.debug("output: {}", item);
}
}
@Test
@DisplayName("회원 수 조회 테스트")
void selectCountMember() {
int output = memberMapper.selectCount(null);
log.debug("회원 수: {}", output);
}
}
수정 후 MemberMapperTest.java
package kr.project.yuju.mappers;
import static org.junit.jupiter.api.Assertions.*;
import java.util.List;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import kr.project.yuju.models.Member;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@SpringBootTest
public class MemberMapperTest {
@Autowired
private MemberMapper memberMapper;
@Test
@DisplayName("회원 추가 테스트")
void insertMember() {
Member input = new Member();
input.setUserName("이수아");
input.setUserId("sua.lee@test.com");
input.setUserPw("pass123!");
input.setAdmin("N");
int output = memberMapper.insert(input);
assertTrue(output > 0);
assertNotNull(input.getMemberId());
log.debug("output: {}", output);
log.debug("new id: {}", input.getMemberId());
}
@Test
@DisplayName("회원 수정 테스트")
void updateMember() {
Member input = new Member();
input.setMemberId(4);
input.setUserName("이수아 (수정)");
input.setUserPw("newPass123!");
input.setAdmin("N");
int output = memberMapper.update(input);
assertTrue(output > 0);
log.debug("output: {}", output);
}
@Test
@DisplayName("회원 삭제 테스트")
void deleteMember() {
Member input = new Member();
input.setMemberId(2);
int output = memberMapper.delete(input);
assertTrue(output > 0);
log.debug("output: {}", output);
}
@Test
@DisplayName("회원 단일 조회 테스트")
void selectOneMember() {
Member input = new Member();
input.setMemberId(4);
Member output = memberMapper.selectItem(input);
assertNotNull(output);
log.debug("output: {}", output);
}
@Test
@DisplayName("회원 목록 조회 테스트")
void selectListMember() {
List<Member> output = memberMapper.selectList(null);
assertNotNull(output);
assertFalse(output.isEmpty());
for (Member item : output) {
log.debug("output: {}", item);
}
}
@Test
@DisplayName("회원 수 조회 테스트")
void selectCountMember() {
int output = memberMapper.selectCount(null);
assertTrue(output >= 0);
log.debug("회원 수: {}", output);
}
}
👉 JUnit의 assertNotNull, assertEquals, assertFalse 같은 Assertion 메서드를 사용하면 테스트 자동화가 가능하다!
👉 로그를 일일이 확인할 필요 없이 더 안정적이고 효율적인 테스트가 가능하다! 🚀
JUnit Assertion을 활용해서, 자동화된 테스트 환경을 만들 수 있다! 🎉