我在一个名为 的包中有两个文件db,其中一个定义了一些未导出的变量。另一个是测试文件,需要像这样使用这些变量:
(这是项目的结构)
$GOPATH/src/gitlab.com/myname/projectdir
├── main.go
└── db
├── add.go
└── add_test.go
(这是文件的简洁变体)
数据库/添加.go
package db
func Add(x, y int) int {
return x + y
}
// some other functions that use a and b from `add_test.go`
db/add_test.go
package db
import (
"testing"
)
var (
a = 1
b = 2
)
// test function use variables from add.go
func testAdd(t *testing.T) {
result := add(a, b)
if result != 3 {
t.Error(err)
}
}
go test在db/通过的目录中运行,但是一旦我运行go run main go它就会产生以下错误:
db/add.go:: 未定义:a
db/add.go:: 未定义:b
似乎在构建过程中add.go找不到a和b来自add_test.go。
main.go
package main
import (
"fmt"
"gitlab.com/myname/projectdir/db"
)
func main() {
res := db.Add(1, 2)
fmt.Println(res)
}
这是因为add_test.go在构建过程中不包括在内吗?
汪汪一只猫
皈依舞
幕布斯6054654
相关分类