0
Написав программу на основе http.ListenAndServe
и написав тесты, я ударил пень. мой тест выглядит следующим образомkill running process in test golang
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)))
}
моя цель состоит в том, чтобы быть в состоянии выполнить тест и после того, как слушатель-сервер запускается убить его и вернуть сообщение об успешном
Попробуйте изменить тестовый пакет для 'пакета Server' и удаление операторов импорта. Затем выполните 'go run -test'. Это проще всего, если файл, содержащий тестовые функции (который должен называться как-то вроде 'server_test.go'), имеет ту же декларацию пакета, что и тестируемый пакет. Посмотрите http://golang.org/doc/code.html#Testing. – Intermernet