Ginkgo 不提供 Travis 的报道 CI
Ginkgo does not provide coverage in Travis CI
我有一个在 Travis 中构建的 GO 项目 CI。
我已经用 Ginkgo 实现了一些测试,当我在本地 运行 时,我得到了代码覆盖率,但是当我在 Travis 上 运行 时,我没有得到覆盖率。
我的.travis.yml
language: go
# safelist
branches:
only:
- master
- travis
before_install:
- go get github.com/onsi/gomega
- go get github.com/onsi/ginkgo/ginkgo
- go get github.com/modocache/gover
script:
- ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --cover --trace --race --compilers=2
after_success:
- gover . coverage.txt
- ls -al
- cat coverage.txt
- bash <(curl -s https://codecov.io/bash)
当我 运行 在我自己的机器上执行脚本命令时,我得到以下结果
$ ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --cover --trace --race --compilers=2
Running Suite: Gitserver Suite
==============================
Random Seed: 1470431018 - Will randomize all specs
Will run 4 of 4 specs
++++
Ran 4 of 4 Specs in 0.000 seconds
SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 0 Skipped PASS
coverage: 25.9% of statements
Ginkgo ran 1 suite in 4.411023s
Test Suite Passed
但在 travis CI 上,报道说“声明的 0.0%”
我已经尝试在我的本地机器上设置一个新的 GOPATH 以获得一个干净的设置,并且只有 运行 Travis 日志中出现的命令,我仍然得到 25% 的报告覆盖率。我的机器是 运行ning windows 而 Travis 是 linux,这是我现在能想到的唯一区别。
我刚刚在我的包裹上试过 GoCover.io,这也让我获得了在本地获得的 25% 的覆盖率。
在我 运行 travis 通过他们的 docker 图像在本地构建后,我终于让它工作了。由于某些原因我需要指定覆盖哪个包,所以 ginkgo 命令已更改为
ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --coverpkg gitserver --trace --race --compilers=2
以下命令似乎对我有用。
ginkgo -r --randomizeAllSpecs --randomizeSuites --cover --race --trace
如果您想了解更多,请查看the documentation here。
我有一个在 Travis 中构建的 GO 项目 CI。 我已经用 Ginkgo 实现了一些测试,当我在本地 运行 时,我得到了代码覆盖率,但是当我在 Travis 上 运行 时,我没有得到覆盖率。
我的.travis.yml
language: go
# safelist
branches:
only:
- master
- travis
before_install:
- go get github.com/onsi/gomega
- go get github.com/onsi/ginkgo/ginkgo
- go get github.com/modocache/gover
script:
- ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --cover --trace --race --compilers=2
after_success:
- gover . coverage.txt
- ls -al
- cat coverage.txt
- bash <(curl -s https://codecov.io/bash)
当我 运行 在我自己的机器上执行脚本命令时,我得到以下结果
$ ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --cover --trace --race --compilers=2
Running Suite: Gitserver Suite
==============================
Random Seed: 1470431018 - Will randomize all specs
Will run 4 of 4 specs
++++
Ran 4 of 4 Specs in 0.000 seconds
SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 0 Skipped PASS
coverage: 25.9% of statements
Ginkgo ran 1 suite in 4.411023s
Test Suite Passed
但在 travis CI 上,报道说“声明的 0.0%”
我已经尝试在我的本地机器上设置一个新的 GOPATH 以获得一个干净的设置,并且只有 运行 Travis 日志中出现的命令,我仍然得到 25% 的报告覆盖率。我的机器是 运行ning windows 而 Travis 是 linux,这是我现在能想到的唯一区别。
我刚刚在我的包裹上试过 GoCover.io,这也让我获得了在本地获得的 25% 的覆盖率。
在我 运行 travis 通过他们的 docker 图像在本地构建后,我终于让它工作了。由于某些原因我需要指定覆盖哪个包,所以 ginkgo 命令已更改为
ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --coverpkg gitserver --trace --race --compilers=2
以下命令似乎对我有用。
ginkgo -r --randomizeAllSpecs --randomizeSuites --cover --race --trace
如果您想了解更多,请查看the documentation here。