我想从golang测试包中加载一个类型的所有符号。
我想要完成的是pytest's fixtures,我在其中定义了一个接口
type Fixture func(...Fixture) interface{}
var MyFixture = func() interface{} {
return 1}
然后在包上使用反射来加载所有灯具并使用测试运行器将它们注入测试。
(我知道反射包不会给我参数名称,这是我需要解决的另一个问题)。
我有两个问题,阅读Go (reflect): How to discover all package types at runtime?,我尝试使用Default()
导入程序,但我总是感到恐慌:
pkg, err := importer.Default().Import("fmt")
// error was nil
// pkg is nil
从某处can't find import: