2015-01-05 5 views
1

작은 보석 (SmsSafe)을 만들었으며 현재 SimpleCov에 따라 100 % 코드 적용 범위를가집니다.내 보석이 종속물로 가지고있는 보석의 코드를 작업복이 무시하도록하려면 어떻게합니까?

그러나 Coveralls에 따르면 41 %의 적용 범위 (report here) 만 있습니다.

그 차이에 대한 이유는 작업복 내 코드의 일부로서 내 보석의 의존성의 코드를 가지고, 그이 적용되지 않는 것을 불평 것 같다

...

나는 그것을 할 것 같지 않은 이것은 다른 보석에 나는 살펴본 나는 작업복 전화 해요 방법은 내 Rakefile이를 가진 것입니다

... 그 보석 '코드베이스에서 특별한 작업복 구성을 보이지 않은 :

require 'coveralls/rake/task' 
Coveralls::RakeTask.new 
task :test_with_coveralls => ["test", "coveralls:push"] 

및 트래비스가 "test_with_ 작업복 "

이런 일이 될 수 왜 according to their docs

어떤 아이디어를 추가하는 올바른 방법은

script: bundle exec rake test_with_coveralls 

?

답변

2

두 단계가 필요합니다. 작업복 문서 다음 한 손에

가, 작업복가되도록 SimpleCov 포매터를 설정 : 문제가 해결되지 않는

require "simplecov" 
require "coveralls" 
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ 
    SimpleCov::Formatter::HTMLFormatter, 
    Coveralls::SimpleCov::Formatter 
] 

또는

SimpleCov.formatter = Coveralls::SimpleCov::Formatter 

하지만, 이것은 불법이다 부분 :

SimpleCov.start를 호출 할 때 "/ gemfiles/vendor"디렉토리를 필터링해야합니다.

SimpleCov.start do 
    add_filter "/gemfiles/vendor" 
end 
+0

훌륭함, 그냥 해냈습니다! 향후 질문자를 위해 내 문제에 더 많이 적용하기 위해 응답을 조금 업데이트했습니다. 고맙습니다!! –