[英]Error Message : go: go.mod file not found in current directory or any parent directory;
I am trying to run a unit test using go.我正在尝试使用 go 运行单元测试。 The functions work properly in the main file.
这些功能在主文件中正常工作。 The function is given below:
function如下:
func LoadLexicon(lexiconPath string) (map[string]string, error) {
m := make(map[string]string)
lexiconPath = strings.TrimSuffix(lexiconPath, "\n")
if lexiconPath == "nil" {
m["COME"] = "k V m"
m["WORDS"] = "w 3` d z"
m["MECCA"] = "m E k @"
return m, nil
}
readFile, err := os.Open(lexiconPath)
if err != nil {
fmt.Println(err)
return m, err
}
fileScanner := bufio.NewScanner(readFile)
fileScanner.Split(bufio.ScanLines)
var fileLines []string
for fileScanner.Scan() {
fileLines = append(fileLines, fileScanner.Text())
}
lex_words := make(map[string]string)
for _, line := range fileLines {
temp := strings.Split(line, "\t")
lex_words[strings.ToUpper(temp[0])] = temp[1]
}
return lex_words, err
}
But when I am running the unit test,但是当我运行单元测试时,
func TestLoadLexicon(t *testing.T) {
tests := []struct {
n string
want string
}{
{"COME", "k V m"},
{"WORDS", "w 3` d z"},
{"MECCA", "m E k @"},
}
for _, tc := range tests {
if got, _ := LoadLexicon("nil"); got[tc.n] != tc.want {
t.Errorf("got %s, want %s", got[tc.n], tc.want)
}
}
}
I am getting this error ` Running tool: /usr/local/go/bin/go test -timeout 30s -run ^TestLoadLexicon$我收到此错误`运行工具:/usr/local/go/bin/go test -timeout 30s -run ^TestLoadLexicon$
go: go.mod file not found in current directory or any parent directory; go:在当前目录或任何父目录中找不到 go.mod 文件; see 'go help modules'
见“去帮助模块”
Test run finished at 29/08/2022, 02:58:53 < `
测试运行于 29/08/2022 02:58:53 完成 < `
You need to add a go.mod file to your project's root directory.您需要将go.mod文件添加到项目的根目录。
Use modules to manage dependencies.使用模块来管理依赖关系。 Official docs: https://go.dev/blog/using-go-modules
官方文档: https://go.dev/blog/using-go-modules
Example:例子:
go mod init project-name
go mod init example.com/project-name
go mod init github.com/you-user-name/project-name
You may need to use the tidy command to clean up after running one of the above commands.运行上述命令之一后,您可能需要使用 tidy 命令进行清理。
go mod tidy
Use the path format from above when importing a package into your go file将 package 导入 go 文件时,使用上述路径格式
Example:例子:
import (
// Import internal and external packages like this
"github.com/you-user-name/project-name/package-name"
// Import standard library packages the normal way
"testing"
"math/rand"
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.