2011-07-27 2 views
5

rspec에서 사용하기 위해 rake 명령 행을 통해 두 개의 변수를 전달하려고합니다.rspec에서 명령 행에서 args를 전달하는 방법 rspec

내가 내 레이크 작업에 인수를 전달하는 데이 작업을 수행 할 수 있습니다 수집 무엇부터

:

task :my_task, :arg1, :arg2 do |t, args| 
    puts "Args were: #{args}" 
end 

하지만 내 레이크 작업은 다음과 같습니다 그래서 나는 RSpec을 사용하고 있습니다

RSpec::Core::RakeTask.new(:my_task), :arg1, :arg2 do |t, args| 
puts args.arg1 
puts args.arg2 
end 

는 아무튼있는 일하지 마라.

도 내 RSpec에 spec 파일에 전달하는

+0

rspec을 모르지만 코드 예제에 약간의 오타가있는 것 같습니다. RSpec :: Core :: RakeTask.new의 대괄호는 인수를 포함해야합니다 : RSpec :: Core :: RakeTask.new (: my_task, : arg1, : arg2) – knut

답변

0

가 어떻게 레이크 전화를 어떻게 알아 냈 havent 한?

rake mytask[val1,val2] 

나는 당신의 두번째 코드 예제에 대해 잘 모르겠어요 : 귀하의 예를 들어

당신은 전화를해야합니다. args는 키가있는 해시 (arg1 및 arg2) 여야합니다. 그래서 당신은 args.arg1가 작동하는지 내가 의심 해요

puts args[:arg1] 

사용할 수 있습니다.

0

원래 질문 이후로 꽤 오래되었지만 비슷한 문제를 해결해야했습니다. 처음 아이디어를 많이 바꿀 필요가 없습니다.

RSpec::Core::RakeTask.new(:my_task, [:arg1, :arg2]) do |t, args| 
puts args.arg1 
puts args.arg2 
end 

via :

rake my_task["hello","world"]