2016-08-07 2 views
1

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 %의 적용 범위를 얻었습니다.

답변

0

나는 마침내 트래커 빌드를 도커 이미지를 통해 로컬로 실행 한 후에 작동하도록했습니다. 웬일인지 어떤 패키지를 다룰지를 지정해야하기 때문에 은행 나무 명령은

ginkgo -r --randomizeAllSpecs --randomizeSuites --failOnPending --coverpkg gitserver --trace --race --compilers=2 
으로 변경되었습니다.
관련 문제