去绝对进口和Travis CI

时间:2014-03-21 13:54:04

标签: go travis-ci

我在http://github.com/NeilGarb/budget设置了一个公共golang项目,子包核心和api。我将项目保存在$ GOPATH / src / github.com / NeilGarb / budget中。

我想使用Travis CI运行核心的银杏测试,但我在我的测试包中使用绝对导入,Travis抱怨它找不到所说的包。

例如,我的测试包括:

package user_test

import (
    . "github.com/NeilGarb/budget/core"
)

运行ant在我的本地计算机上工作正常,但是当travis尝试运行测试时,我得到:

core-test:
[exec] Failed to compile core:
[exec] 
[exec] can't load package: package github.com/NeilGarb/budget/core: cannot find package "github.com/NeilGarb/budget/core" in any of:
[exec]  /home/travis/.gvm/gos/go1.2/src/pkg/github.com/NeilGarb/budget/core (from $GOROOT)
[exec]  /home/travis/.gvm/pkgsets/go1.2/global/src/github.com/NeilGarb/budget/core (from $GOPATH)
[exec] 
[exec] Ginkgo ran in 714.967041ms
[exec] Test Suite Failed

我尝试在我的测试中使用相对导入(即“../core”),这有效,但随后我的报道总是显示0%。

怎么办? :(

2 个答案:

答案 0 :(得分:2)

我通过构建一个从$ GOPATH / src / github.com / NeilGarb / budget到$ TRAVIS_BUILD_DIR的符号链接解决了这个问题。

答案 1 :(得分:0)

github.com/NeilGarb/budget/core需要供应该包以使代码可用。有关文档,请参阅https://golang.org/cmd/go/#hdr-Vendor_Directories