アプリケーション ファイルをテスト ファイルから分割しようとしています。次のようになります。
main.go
views/
layouts/
layout.html
spec/
main_test.go
main.go
Martini アプリを作成Martini.render
し、ビューを探す場所を指示します。
func CreateApplication() {
m := martini.Classic()
m.Use(render.Renderer(render.Options{
Directory: "views",
Layout: "layouts/layout",
Extensions: []string{".html"},
}))
}
go run
ルート フォルダーから使用している場合、すべてが非常にうまく機能します。ただし、ファイルCreateApplication()
から関数を使用しようとすると、それが実行フォルダーであるため、ビューが検索されます。spec/main_test.go
spec/views
絶対パスを取得するために使用しようとするルートをruntime.Caller()
たどりましたが、バイナリをコンパイルするときに完全に台無しになります。
私の質問は、どうすればこれを機能させることができるのでしょうか。CreateApplication()
どこから呼び出されても同じように動作するようにしたい。