首先我们有一个项目文件夹ProjectABC,这个项目文件夹通过go mod 命令初始化并具有go.mod文件,模块全名称为github.com/xxx/xxxxx。在这个文件夹下分partA,testPartA两个子文件夹。其中partA下所有.go文件的package为parta,举例如下:(parta.go)
package parta
func AFunInPartA(){
fmt.Println("call AFunInPartA")
}
然后我们在testPartA文件夹下建立一个文件parta_test.go
内容为
package testparta
import (
"testing"
"parta"
)
func TestPartA(t * testing.T){
parta.AFunInPartA()
t.Log("OK")
}
这时候我们发现parta_test.go无法编译通过,报错为could not import parta (no required module provides “parta” 。那么怎么才能编译通过呢?
将import中的"parta"改为模块全路径方可,如下:
import (
"testing"
"github.com/xxx/xxxxx/parta"
)