Spring Boot JUnit 5
JUnit5 單元測試
主要為實作JUnit5 實現單元測試,之前用比較多的都是JUnit4,這次會要使用JUnit5主要是因為Spring Boot 2.2.0 以上的版本 JUnit 都改為JUnit5 的版本,藉由此次專案來徹底玩一下單元測試。
以往在測試API如果有使用Swagger 就可以直接在上面測試,但是如果要做到完整的CI/CD,撰寫單元測試的事情是不可或缺的,但因為很久沒有這樣徹底玩過,確實有很多地方是值得一玩,這邊就作為測試的紀錄~ 參考一: 前往 參考二: 前往
// JUnitController.java
import com.longxiang.backstage.controller.model.request.InsertMerchantReq;
import com.longxiang.backstage.controller.model.request.QueryMerchantReq;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
/**
* Author: Caster
* Date: 2022/9/14
* Comment:
*/
@RestController
@Api(tags = "JUnit5測試")
@RequestMapping("/junit")
@RequiredArgsConstructor
@Slf4j
public class JUnitController {
@GetMapping("/list")
public ResponseEntity list(@ModelAttribute QueryMerchantReq req){
log.debug("====> list");
return ResponseEntity.ok("list");
}
@GetMapping("/{id}")
public ResponseEntity info(@PathVariable Integer id){
log.debug("====> info");
return ResponseEntity.ok("info");
}
@PostMapping("")
public ResponseEntity insert(@RequestBody InsertMerchantReq req){
log.debug("====> insert");
return ResponseEntity.ok("insert");
}
@PutMapping("/{id}")
public ResponseEntity update(@RequestBody InsertMerchantReq req){
log.debug("====> update");
return ResponseEntity.ok("update");
}
@DeleteMapping("/{id}")
public ResponseEntity delete(@PathVariable Integer id){
log.debug("====> delete");
return ResponseEntity.ok("delete");
}
}Last updated