Avatar
1
monkey Enlightened
monkey Enlightened
Khi nào thì nên và làm thế nào để viết unit vs integration test có ý nghĩa anh nhỉ?
Khi nào thì nên và làm thế nào để viết unit vs integration test có ý nghĩa anh nhỉ?
Answer
Avatar
0
monkey Enlightened
monkey Enlightened
Spring Boot Integration test sử dụng có cả mockup lẫn service thật
Spring Boot Integration test sử dụng có cả mockup lẫn service thật theo các bước như sau: <p> </p> <ol start="1"> <li>Khởi tạo project theo các bước này: <a href="https://stackask.com/question/huong-dan-su-dung-spring-boot-test-controller/ " target="_blank">https://stackask.com/question/huong-dan-su-dung-spring-boot-test-controller/ </a></li> <li>Giả sử chúng ta có <code>GoodbyeController</code> thế này: </li> </ol> <p> </p> <pre> package com.example.spring_test.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.example.spring_test.service.GoodByeService; import com.example.spring_test.service.HelloService; import lombok.AllArgsConstructor; @RestController @AllArgsConstructor public class GoodbyeController { private final HelloService helloService; private final GoodByeService goodByeService; @GetMapping("/hello-and-goodbye") public String hello(@RequestParam String who) { return helloService.hello(who) + " and " + goodByeService.goodBye(who); } } </pre> <p> </p> <p> Và lớp <code>GoodByeService</code> thế này: </p> <p> </p> <pre> package com.example.spring_test.service; import org.springframework.stereotype.Service; @Service public class GoodByeService { public String goodBye(String who) { return "Goodbye " + who + '!'; } } </pre> <p> </p> <p> Tuy nhiên chúng vì một lý do nào đó (có thê do lớp <code>GoodbyeService</code> cần gọi sang service thứ 3) nên chúng ta cần mockup nó, vậy hãy sang bước tiếp theo. </p>
Answer