我对 travis 和 Go 很陌生。我对 https 服务器进行了测试,它在我的本地计算机上运行时运行良好,但由于尝试连接到服务器时出错,go test -v ./...它在 Travis 上的大部分时间都会失败。getsocketopt: connection refused它应该在听https://localhost:8081。我.travis.yml能做些什么来防止这种情况发生吗?
这是我的 .travis.yml
language: go
go:
- 1.6
- tip
matrix:
allow_failures:
- go: tip
before_install:
- go get -v github.com/golang/lint/golint
install:
- go get -v -d -t ./...
这是我的服务器创建代码:
func (webserver *WebServer) Start(keyLocation string, certLocation string) <-chan error {
errors := make(chan error, 1)
go func() {
defer close(errors)
errors <- http.ListenAndServeTLS(fmt.Sprintf(":%v", webserver.config.WebServerPort), certLocation, keyLocation, nil)
}()
return errors
}
和客户端代码:
func createHTTPClient(t *testing.T) *http.Client {
t.Log("Creating a test client...")
tr := &http.Transport {
TLSClientConfig: &tls.Config {InsecureSkipVerify: true},
}
t.Log("Created a test client")
return &http.Client {Transport: tr}
}
与客户的样品请求
request, _ := http.NewRequest(httpmethod, fmt.Sprintf("https://localhost:%d/token", port), nil)
client.Do(request)
在测试中启动服务器的示例
errors := server.Start(testKeyLocation, testCertLocation)
//Handle errors from server
go func() {
select {
case err := <-errors:
if err != nil {
t.Fatalf("Error with server: %s", err.Error())
}
}
}()
慕娘9325324
相关分类