Я немного смущен, почему тест Go не работает должным образом.
├── datasource
│ ├── cache.go
│ ├── database.go
│ ├── datasource.go
│ └── datasource_test.go
├── main.go
└── README.md
Это моя структура каталогов файлов.
Я реализовал это внутри datasource_test.go https://golang.org/pkg/testing/
то есть,
package datasource
import "testing"
func TestAbs(t *testing.T) {
got := Abs(-1)
if got != 1 {
t.Errorf("Abs(-1) = %d; want 1", got)
}
}
мой основной каталог такой,
package main
import "datasource/datasource.go"
func main() {
//
}()
}
}
Что мне здесь не хватает? Я предполагаю, что это связано с отсутствием импорта.
Примечание по терминологии: в Go нет «скриптов». Go скомпилирован. По определению сценарии интерпретируются.
Вы можете использовать go test ./...
для тестирования всех пакетов. То, как вы импортируете пакеты, неверно, и вам не нужно импортировать пакеты для целей тестирования. Команда go test
поможет вам запустить тесты.
Спасибо! Имеет смысл, просто пытаясь понять язык!
Спасибо! это идеально @halil
Go — это не PHP и не JavaScript: в Go вы импортируете пакеты, а не файлы. Хотя пути импорта пакетов действительно могут коррелировать с путями файловой системы, это не то, о чем вам следует думать. Не могли бы вы начать с чтения основных материалов по организации кода Go? Предлагаю начать прямо здесь и читать сверху вниз.