[英]kill running process in test golang
編寫基於http.ListenAndServe
的程序並編寫測試,我遇到了http.ListenAndServe
。 我的測試看起來像這樣
package main
import (
"testing"
"../"
)
func TestServer(t *testing.T) {
Server.Server()
}
和經過測試的功能
package Server
import (
"net/http"
)
var (
DefaultPort = "8080"
DefaultDir = "."
)
func Server() {
port := DefaultPort
directory := DefaultPort
http.ListenAndServe(":"+port, http.FileServer(http.Dir(directory)))
}
我的目標是能夠運行測試,並在啟動服務器偵聽器后將其殺死並返回成功消息
你不能 為了能夠停止,您需要手動創建偵聽器
listener, err := net.Listen("http", ":"+port)
err=http.Serve(listener, http.FileServer(http.Dir(directory)))
那么你也能
err=listener.Close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.