Тестовый скрипт не будет

Я немного смущен, почему тест 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 — это не PHP и не JavaScript: в Go вы импортируете пакеты, а не файлы. Хотя пути импорта пакетов действительно могут коррелировать с путями файловой системы, это не то, о чем вам следует думать. Не могли бы вы начать с чтения основных материалов по организации кода Go? Предлагаю начать прямо здесь и читать сверху вниз.

kostix 24.12.2020 16:27

Примечание по терминологии: в Go нет «скриптов». Go скомпилирован. По определению сценарии интерпретируются.

Jonathan Hall 25.12.2020 15:19
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
5
2
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать go test ./... для тестирования всех пакетов. То, как вы импортируете пакеты, неверно, и вам не нужно импортировать пакеты для целей тестирования. Команда go test поможет вам запустить тесты.

Спасибо! Имеет смысл, просто пытаясь понять язык!

LeCoda 24.12.2020 16:05
golang.org/doc/code.html ждет, когда вы начнете.
Halil İbrahim Yıldırım 24.12.2020 16:06

Спасибо! это идеально @halil

LeCoda 24.12.2020 16:11

Другие вопросы по теме