Commit 8b374d7f authored by astaxie's avatar astaxie

beego: add benchmark

parent fa323414
...@@ -10,7 +10,6 @@ import ( ...@@ -10,7 +10,6 @@ import (
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/astaxie/beego/context" "github.com/astaxie/beego/context"
) )
...@@ -273,3 +272,46 @@ func TestRouterHandler(t *testing.T) { ...@@ -273,3 +272,46 @@ func TestRouterHandler(t *testing.T) {
t.Errorf("TestRouterHandler can't run") t.Errorf("TestRouterHandler can't run")
} }
} }
//
// Benchmarks NewApp:
//
func beegoFilterFunc(ctx *context.Context) {
ctx.WriteString("hello")
}
type AdminController struct {
Controller
}
func (a *AdminController) Get() {
a.Ctx.WriteString("hello")
}
func BenchmarkFunc(b *testing.B) {
mux := NewControllerRegistor()
mux.Get("/action", beegoFilterFunc)
rw, r := testRequest("GET", "/action")
b.ResetTimer()
for i := 0; i < b.N; i++ {
mux.ServeHTTP(rw, r)
}
}
func BenchmarkController(b *testing.B) {
mux := NewControllerRegistor()
mux.Add("/action", &AdminController{})
rw, r := testRequest("GET", "/action")
b.ResetTimer()
for i := 0; i < b.N; i++ {
mux.ServeHTTP(rw, r)
}
}
func testRequest(method, path string) (*httptest.ResponseRecorder, *http.Request) {
request, _ := http.NewRequest(method, path, nil)
recorder := httptest.NewRecorder()
return recorder, request
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment