使用“package main_test”测试主包

我有一个main.goand main_test.go,并且go test工作正常:


$ cat main.go

package main


func main() {}


func F() int { return 1 }


$ cat main_test.go

package main


import "testing"


func TestF(t *testing.T) {

    if F() != 1 {

        t.Fatalf("error")

    }

}

从link1和link2,我可以使用package main_testin main_test.go。但go test显示./main_test.go:6:5: undefined: F。如何修复错误?


尚方宝剑之说
浏览 125回答 1
1回答

呼如林

导入主包。假设包路径为“example.com/example”,请使用以下代码。$ cat main_test.gopackage mainimport (     "testing"     "example.com/example"   // import main)func TestF(t *testing.T) {    if main.F() != 1 {      // use package selector when referring to F        t.Fatalf("error")    }}替换example.com/example为您的包的实际路径。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go