package main import ( "fmt" "testing" ) func TestReadCommonHeader(t *testing.T) { SetupConfig() var msg = ` 1492972518 ` h := ReadCommonHeader(msg) assertEqual(t, h.ToUserName, "gh_f09231355c68", "ToUserName failed") assertEqual(t, h.FromUserName, "oUN420bxqFqlx0ZQHciUOesZO3PE", "FromUserName failed") assertEqual(t, h.MsgType, "event", "MsgType failed") //for weird reasons assertEqual does not work for integer if h.CreateTime != 1492972518 { errmsg := fmt.Sprintf("CreateTime should be 1492972518, not %d", h.CreateTime) t.Error(errmsg) } } func assertEqual(t *testing.T, a interface{}, b interface{}, message string) { if a == b { return } if len(message) == 0 { message = fmt.Sprintf("%v != %v", a, b) } message = fmt.Sprintf("%v != %v", a, b) t.Fatal(message) }