2010-06-17 5 views
7

나는 약간의 최첨단 레일 앱으로 작업하고 있습니다. Rails 3, RSpec 2, Rspec-Rails2.RSpec-2가있는 RCov

RSpec2에는 RSpec 1이 가지고있는 spec : rcov rake 태스크가없는 것처럼 보입니다. (적어도 아직 없습니다)

rspov 2를 사용하여 rcov를 실행하는 사람이 있습니까? 아니면 자신의 레이크 작업을 작성하여이 작업을 수행 한 사람이 있습니까?

1) 목록 열기 ~/.rvm/루비 // lib 디렉토리/루비/보석 // 보석/RSpec에 레일-2.XXXXX/lib 디렉토리/RSpec에/레일/작업/RSpec에 -

+0

rspec-rails-2.0.0.rc는 rspec rake 파일에서이 작업을 수행합니다. – wesgarrison

답변

7

gem 디렉토리를 제외시키기 위해 옵션을 전달하십시오. 실행중인 레일은 레일 플래그 사용하기 때문에 또는 : 루비의 1.9 배에 될 일 경우

desc "Run all specs with rcov" 
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t| 
    t.rcov = true 
    t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/,features\/} 
end 
+0

이것은 정확하게 내가 끝내었던 것이다. 감사. – JoshReedSchramm

+3

어디에서 살아야합니까? – Aupajo

+1

@Aupajo : JoshReedSchramm이 답변의 초기 반복을 어디에서했는지 그는 ~/.rvm/rubies // lib/ruby ​​/ gems // gems/rspec-rails-2.XXXXX/lib/rspec/rails/tasks/rspec.task' – wesgarrison

0

이 함께했다 . 좋아하는 편집기에서 작업하십시오.

2)이 레이크 작업을

desc “Run all specs with rcov” 
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t| 
    t.rcov = true 
end 

한 뛰어난 문제를 추가합니다. 내 rvm 설치 폴더와 프로젝트에서 모든 사양에 rspec을 실행합니다. 작업을 실행할 때입니다. 모든 rvm 설치 테스트를 제외하는 방법을 알 수 없습니다. 누구든지 아이디어가 있다면 알려주십시오.

4

을, 난 그냥 작업 CoverMe (1.9에서 작동하는 rcov 틱 LIB)를 얻었다. Specky와 RSpec의 상자 밖에서 작동 - 꽤 많은 플러그 앤 플레이 설정. rake : spec을 실행할 때마다 자동으로/coverage를 처리합니다. 저의 최첨단 기술에 대해 1.9.2 프리뷰 3을 실행하고 있기 때문에 언급하고 싶습니다. 사용한다면 1.9 가지 문제에 부딪 힐 수도 있습니다.

2

우리는 직장에서 simplecov을 사용하며 쉽고 효과적으로 찾습니다. rspec 소스를 직접 수정하는 것보다 더 깔끔한 솔루션이라는 것을 알았습니다. 특히 CI 서버가 걱정되는 경우에는 더욱 그렇습니다.

+1

오늘 (2012/8/21)이 질문은 정답입니다. rspec2는 새로운 것이고 simplecov는 아직 실제로 존재하지 않았습니다. – JoshReedSchramm

+2

simplecov는 1.9. *에서만 작동합니다. rcov는 1.8. *에서만 작동합니다. 1.8 이상인 경우 simplecov를 사용할 수 없습니다. – yiwen

관련 문제