登录
首页 >  Golang >  Go问答

在Go项目的根目录下如何执行测试?

来源:stackoverflow

时间:2024-02-25 19:36:25 309浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《在Go项目的根目录下如何执行测试?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我正在阅读 thorsten ball 的《用 go 语言编写解释器》一文,以了解该语言。

项目目录如下所示:

interpreter/
|---code/
|   |---token/
|   |   |---token.go
|   |   |---go.mod
|   |---lexer/
|       |---lexer_test.go
|       |---go.mod
|---go.mod

我以这种方式创建了go.mod文件

>go mod init monkey
>cd token
>go mod init token
>cd ../lexer
>go mod init lexer

我将此行添加到词法分析器模块中的 go.mod 文件中

replace monkey/token => ../token

从词法分析器文件夹内运行 go test 时,我得到了书中提到的预期输出,但我意识到这并不是项目设置正确的指标。

>go test
# lexer [lexer.test]
./lexer_test.go:26:7: undefined: new
fail    lexer [build failed]

但是按照书中提到的方式运行测试,即通过以下方式从根文件夹代码

go test ./lexer

go 无法解析词法分析器包,并且出现以下错误

main module (monkey) does not contain package monkey/lexer

是否需要将某些内容添加到根文件夹中的 go.mod 文件中来修复此问题?


解决方案


解决方案是

$ cd 01/src/monkey
$ go mod init monkey
$ go test ./lexer

今天关于《在Go项目的根目录下如何执行测试?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>