SSAFY11th-book-study / book-study

SSAFY 11기 6반의 '토비의 스프링 스터디'
0 stars 0 forks source link

[2.1] 단위 테스트 #13

Closed limjongheok closed 7 months ago

limjongheok commented 7 months ago

항상 개발시 테스트시 테스트를 어디까지 쪼개야하나 궁금하였으며 실제 현업 하시는 분에게도 여쭈어보았을시 그거는 자신만의 기준점을 두고 하는 것이라는 답변을 받은 기억이 있습니다. 또한 책에서도 단위란 무엇인지 그 크기와 범위가 어느정도인지 정해진것이 아니다 라고 써져 있습니다. 이처럼 마땅한 기준점이 없어 항상 테스트 코드 작성시 답답함이 있어 테스트를 어떻게 진행하면 좋을지 이야기를 나누고자 질문을 올립니다. 우선 저같은 경우에는

@RestController
@RequiredArgsConstructor
public class Controller {

    private final Service service;
    @GetMapping("/api/hello")
    public ResponseEntity<?> hello(){
        service.hello();
        return ResponseEntity.ok().body("hello");
    }
}
@Service
public class Service {

    public void hello(){
    }
}

test

@ExtendWith(SpringExtension.class)
@WebMvcTest(Controller.class)
public class ControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @MockBean
    private Service service;

    @Test
    @DisplayName("controllerHelloTest")
    public void 컨트롤러_헬로_테스트 () {

    }

}

@ExtendWith(MockitoExtension.class)
public class ServiceTest {

    @Test
    @DisplayName("helloService 테스트")
    public void serViceHelloTest(){

    }
}

주로 다음과 같이 API?? 별로 service controller 만 해서 mock 테스트를 해왔던 것 같은습니다. 여러분의 테스트 스타일은 어떤지 혹은 좋은 테스트 레퍼런스가 있으면 올려주시면 감사하겠습니다.

hj-k66 commented 7 months ago

이 글을 참고하면 좋을 것 같습니다! https://github.com/HomoEfficio/dev-tips/blob/master/Spring-Boot-%EB%A0%88%EC%9D%B4%EC%96%B4%EB%B3%84-%ED%85%8C%EC%8A%A4%ED%8A%B8.md