【发布时间】:2015-02-24 17:37:06
【问题描述】:
基于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)))
}
我的目标是能够运行测试并在服务器侦听器启动后将其杀死并返回成功消息
【问题讨论】:
-
尝试将测试包更改为
package Server并删除导入语句。然后做go run -test。如果包含测试函数的文件(应该命名为server_test.go)与被测试的包具有相同的包声明,这是最简单的。看看golang.org/doc/code.html#Testing。