Travis CI에서 구축 한 GO 프로젝트가 있습니다. 은행 나무로 몇 가지 테스트를 구현했으며 현지에서 실행할 때 코드 커버리지를 얻지 만 트래비스에서 실행할 때 적용 범위가 없습니다.Ginkgo는 Travis CI의 적용 범위를 제공하지 않습니다.
내 .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
그러나 문 트래비스 CI 적용 범위가 말한다 "0.0 %에
"내 로컬 컴퓨터에서 새 GOPATH를 설정하여 깨끗한 설정을 얻고 Travis 로그에서 발생하는 명령 만 실행하려고 시도했지만 25 %의보고가 발생했습니다. 내 컴퓨터가 Travis가 리눅스 인 곳에서 윈도우를 돌리고 있는데, 그건 내가 지금 생각할 수있는 유일한 차이점이다.
나는 내 패키지에 GoCover.io를 사용해 본 결과 25 %의 적용 범위를 얻었습니다.