我当前的目录结构如下所示:
App
- Template
- foo.go
- foo.tmpl
- Model
- bar.go
- Another
- Directory
- baz.go
该文件foo.go用于ParseFiles在init.
import "text/template"
var qTemplate *template.Template
func init() {
qTemplate = template.Must(template.New("temp").ParseFiles("foo.tmpl"))
}
...
foo.go按预期工作的单元测试。不过,我现在想为运行单元测试bar.go和baz.go这两个进口foo.go和我得到试图打开一个恐慌foo.tmpl。
/App/Model$ go test
panic: open foo.tmpl: no such file or directory
/App/Another/Directory$ go test
panic: open foo.tmpl: no such file or directory
我尝试将模板名称指定为相对目录(“./foo.tmpl”)、完整目录(“~/go/src/github.com/App/Template/foo.tmpl”)、应用程序相关目录(“/App/Template/foo.tmpl”)等,但似乎对这两种情况都不起作用。单元测试失败之一bar.go或baz.go(或两者)。
我的模板文件应该放在哪里,我应该如何调用,ParseFiles以便无论我go test从哪个目录调用它,它总能找到模板文件?
肥皂起泡泡
相关分类