728x90
postServiceTest 를 만들어 테스트
가장 위 설정부분
@SpringBootTest
class PostServiceTest {
@Autowired
PostService postService;
@Autowired
PostRepository postRepository;
@BeforeEach
void clean() {
postRepository.deleteAll();
}
- postService 와 PostRepository 를 주입받는다.
- @BeforeEach를 이용해 각 테스트 시작 전 postRepository를 모두 초기화(삭제) 해준다.
@Test
@DisplayName("게시물_저장_테스트")
void create() {
CreatePostDto post = CreatePostDto.builder()
.title("제목1")
.content("내용1")
.build();
postService.create(post);
assertThat(postRepository.findAll().size()).isEqualTo(1);
assertThat(postRepository.findAll().get(0).getTitle()).isEqualTo("제목1");
assertThat(postRepository.findAll().get(0).getContent()).isEqualTo("내용1");
}
@Test
@DisplayName("게시글_단건조회_테스트")
void findOne() {
Post post = Post.builder()
.title("제목1")
.content("내용1")
.build();
Post savedPost = postRepository.save(post);
PostsResponse findPost = postService.findOne(savedPost.getId());
assertThat(findPost.getTitle()).isEqualTo("제목1");
assertThat(findPost.getContent()).isEqualTo("내용1");
}
@Test
@DisplayName("게시글_전체조회_테스트")
void findAll() {
Post post1 = Post.builder()
.title("제목1")
.content("내용1")
.build();
Post post2 = Post.builder()
.title("제목2")
.content("내용2")
.build();
postRepository.save(post1);
postRepository.save(post2);
List<PostsResponse> posts = postService.findAll();
assertThat(posts.size()).isEqualTo(2);
assertThat(posts.get(0).getTitle()).isEqualTo("제목1");
assertThat(posts.get(1).getTitle()).isEqualTo("제목2");
}
@Test
@DisplayName("게시글_수정_테스트")
void update() {
Post post = Post.builder()
.title("제목1")
.content("내용1")
.build();
Post savedPost = postRepository.save(post);
UpdatePostDto updatePostDto = UpdatePostDto.builder()
.title("제목변경")
.content("내용변경")
.build();
postService.update(savedPost.getId(), updatePostDto);
Post findPost = postRepository.findById(savedPost.getId()).get();
assertThat(findPost.getTitle()).isEqualTo("제목변경");
assertThat(findPost.getContent()).isEqualTo("내용변경");
}
@Test
@DisplayName("게시글_삭제_테스트")
void delete() {
Post post = Post.builder()
.title("제목1")
.content("내용1")
.build();
Post savedPost = postRepository.save(post);
postService.delete(savedPost.getId());
List<Post> posts = postRepository.findAll();
assertThat(posts.size()).isEqualTo(0);
}
728x90
'CRUD 게시판' 카테고리의 다른 글
RestApi 게시판 CRUD 만들기 (4) - PostMan (0) | 2022.10.12 |
---|---|
RestApi 게시판 CRUD 만들기 (4) - Controller Test (0) | 2022.10.12 |
RestApi 게시판 CRUD 만들기 (2) - Service , Controller (0) | 2022.10.12 |
RestApi 게시판 CRUD 만들기 (1) (0) | 2022.10.12 |
댓글