这个要熟悉原理,要能写。。
但现在。。。。。
注意,没有main函数,以_test.go结尾,命令go test -v
package main import ( "testing" "net/http" ) const checkMark = " OK! " const ballotX = " ERROR! " func TestDownload(t *testing.T) { url := "http://localhost:8000/test.html" statusCode := 200 t.Log("Given the need to test downloading content.") { t.Logf("\tWhen checking \"%s\" for status code \"%d\"", url, statusCode) { resp, err := http.Get(url) if err != nil { t.Fatal("\tShould be able to make the Get call.", ballotX, err) } t.Log("\t\tShould be able to make the Get call.", checkMark) defer resp.Body.Close() if resp.StatusCode == statusCode { t.Logf("\t\tShould receive a \"%d\" status, %v", statusCode, checkMark) } else { t.Errorf("\t\tShould receive a \"%d\" status. %v %v", statusCode, ballotX, resp.StatusCode) } } } }