我正在编写一个 post 端点,在我的错误处理中我想返回一个 400。
log.Println("Artifact post requested")
// Check for valid JSON Body
body, err := getJSONBody(r)
if err != nil {
log.Println("we got an error")
log.Println(err)
w.WriteHeader(http.StatusBadRequest)
return
}
func getJSONBody(r *http.Request) ([]byte, error) {
if r.Body == nil {
fmt.Println("body has issues")
return nil, errors.New("Received an empty body")
}
defer r.Body.Close()
// Read body
body, readErr := ioutil.ReadAll(r.Body)
if readErr != nil {
return nil, readErr
}
return body, nil
}
但是当我运行单元测试时,我得到的是 200 而不是 400。知道为什么会发生这种情况吗? Test output
答案 0 :(得分:-1)
单元测试出了点问题,多次请求失败但单个请求通过(得到了我正在寻找的 400)。