首先我们有一个项目文件夹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"

)