테스트
프로그램의 품질을 검증하는 것,
의도대로 프로그램이 잘 동작하는 지 확인하는 과정
테스트 보드 작성법
1. 예상 데이터 작성하기
2. 실제 데이터 획득하기
3. 예상 데이터와 실제 데이터 비교해 검증하기
@SpringBootTest
스프링부트와 해당 클래스를 연동해 테스트할 때 사용하는 어노테이션.
테스트 코드에서 스프링부트가 관리하는 다양한 객체를 주입받을 수 있습니다.
테스트 케이스의 트랜잭션 처리
테스트 시 데이터를 조회하는 것이 아닌 조작하는 작업을 했다면 테스트를 마치고 데이터를 롤백해야 한다.
롤백하지 않으면 테스트 수행으로 조작된 데이터가 남아 문제를 일으킬 수 있다.
롤백은 테스트 메서드 위에 @Transactional어노테이션을 붙여 해당 메서드를 트랜잭션 처리해주면 된다.
index()는 목록을 보여주는 메서드.
DB에 있는 데이터들이 전부 보여지는 게 예상 데이터
실제 데이터가 있는 articleService에서 가져와서
assertEquals로 비교
show()는 상세 페이지.
1페이지로 예상 데이터를 구성하면
id=1 title="가가가가" content="1111로 이루어져 있음
성공 케이스를 먼저 실행해야 하기에 DB에서 맞는 데이터를 가져와서 예상 데이터에 삽입.
articleService에서 구성한 서비스에서 show()를 가져와서 비교
실패케이스는 예상 데이터를 null값으로 두고 실행
create()의 경우에는 컨트롤러에서 ArticleForm을 매개변수로 받아왔기때문에 여기서도 사용해줘야한다.
새로 생성하기 위해서는 dto를 엔티티로 변경하고 그 엔티티를 레포지토리에 저장한다.
'코딩자율학습단 > 스프링부트' 카테고리의 다른 글
스프링부트 15일차 (0) | 2024.01.22 |
---|---|
스프링부트 14일차 (0) | 2024.01.20 |
스프링부트 12일차 (0) | 2024.01.19 |
스프링부트 11일차 (0) | 2024.01.18 |
스프링부트 10일차 (0) | 2024.01.16 |