게시글 수정하는 기능을 테스트 할거임
수정하려면 게시글 id로 찾아서 값을 바꿔야 되는데
(id는 db에서 만든 값)
실제 상황이라면 프론트에서
수정하려고 선택한 게시글 번호를 서버로 값을 넘겨줘서 할 수 있는데
테스트 상황에선 게시글 id를 어떻게 알 수가 없음..
그럼 게시글 만드는 테스트랑 수정하는 테스트를 합쳐서
만든 다음에 id 받아서 바로 수정해야할까?
게시글에 대한 CRUD를 하나의 플로우?안에 처리하는 테스트 코드를 짜야할까?
근데 테스트들이 독립적이어야 한다는거 같은데
내가 이 쿼리 날리는 함수들 설계를 잘못한걸까..
일단 통합테스트와 단위테스트 패키지를 분리해야됨
1. 통합테스트에선 너가 말한 아이디값을 리포지토리에서 가져온후에 게시글 수정이 되는지 확인하면됨. 2. 단위테스트에선 리포지토리 행위를 목으로 대체해서 고립된 단위테스트를 하려고 노력해야함. 이때 @springboottest 쓰는순간 단위테스트가 아니라 통테임. 리포지토리에서 게시글을 수정하는 행위 자체를 목 오브젝트를 통해서 대체해야하는데
사실 여러개의 리포지토리가 관여하는 게시글 수정의 경우 단위테스트 작성하는데 대가리 빠개지는게 정상 맞음.