[英]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.