1 回答
TA贡献1815条经验 获得超10个赞
在这里使用 init() 是可疑的。它仅作为程序初始化的一部分执行一次。相反,也许是这样的:
func setup() {
//mux router with added question routes
m = mux.NewRouter()
AddQuestionRoutes(m)
//The response recorder used to record HTTP responses
respRec = httptest.NewRecorder()
}
func TestGet400(t *testing.T) {
setup()
//Testing get of non existent question type
req, err = http.NewRequest("GET", "/questions/1/SC", nil)
if err != nil {
t.Fatal("Creating 'GET /questions/1/SC' request failed!")
}
m.ServeHTTP(respRec, req)
if respRec.Code != http.StatusBadRequest {
t.Fatal("Server error: Returned ", respRec.Code, " instead of ", http.StatusBadRequest)
}
}
在每个适当的测试用例的开头调用 setup() 。您的原始代码与其他测试共享相同的 respRec,这可能会污染您的测试结果。
如果您需要一个提供更多功能(如设置/拆卸装置)的测试框架,请参阅gocheck等软件包。
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报