这是我的项目结构
--主包
---|--child_package1
---|--child_package2
---|--child_package3
我有 main_package 中列出的 API 调用的所有路由和方法调用管理
main_package.go 中的路由器处理程序如下所示:
func Handlers(db *sql.DB, customeruploadFile string) *mux.Router {
router := mux.NewRouter()
router.HandleFunc("/api1", child_package1.method )
router.HandleFunc("/api2", child_package2.method)
router.HandleFunc("/api3", child_package3.mehtod)
fileHandler := http.FileServer(http.Dir("./client/compiled"))
router.PathPrefix("/").Handler(http.StripPrefix("/", fileHandler))
return router
}
问题是当我为子包编写测试用例时,我需要这个 Handlers 方法来创建测试服务器,为此我需要在 child_packages 中导入 main_package,然后很明显有循环导入发生,因为 child_packages 在 main_package 中导入。任何人都可以建议我解决这个问题的最佳方法吗?
慕的地6264312
相关分类