У меня есть два .go
файла, numbers.go
и numbers_test.go
, и я хочу построить и выполнить тесты в соответствии с созданием нового пакета учебных пособий (прокрутите вниз для получения подробной информации о файлах. ) Все файлы находятся в одном каталоге.
Когда я перехожу к этому каталогу в Терминале и набираю gomake
, я получаю это:
6g -o _go_.6 numbers.go
make: 6g: No such file or directory
make: *** [_go_.6] Error 1
Эта ошибка говорит о том, что она не может найти numbers.go
. Если я вручную выполню эту строку (без перемещения каталога):
6g -o _go_.6 numbers.go
успешно создает файл _go_.6
. Так почему же gomake
не может найти файл?
Вот файлы, которые я использую:
numbers.go
выглядит так:
package numbers
func Double(i int) int {
return i * 2
}
numbers_test.go
выглядит так:
package numbers
import (
"testing"
)
type doubleTest struct {
in, out int
}
var doubleTests = []doubleTest{
doubleTest{1, 2},
doubleTest{2, 4},
doubleTest{-5, -10},
}
func TestDouble(t *testing.T) {
for _, dt := range doubleTests {
v := Double(dt.in)
if v != dt.out {
t.Errorf("Double(%d) = %d, want %d.", dt.in, v, dt.out)
}
}
}
и наконец, мой Makefile
выглядит так:
include $(GOROOT)/src/Make.inc
TARG=numbers
GOFILES=\
numbers.go
include $(GOROOT)/src/Make.pkg