2011-10-03 2 views
2

내 cucumber.yml에서이 옵션 (default: --drb --format progress)을 추가하려했으나 오류가 발생했습니다.오이 "- 형식 진행"이 작동하지 않습니다.

Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2) 
Error creating formatter: progress> 

괄호 default: --drb --"format progress"로 찍으면 도움이되지 않습니다.

invalid option: --format progress (OptionParser::InvalidOption) 

어쩌면 옵션이 없지만 it should be

"형식 꽤"는 대괄호없이 올바르게 작동합니다. 콘솔의 모든 시나리오를보고 싶지는 않지만 오류가있는 경우,이를 수행 할 수있는 다른 방법이있을 수 있습니다.

전체 추적 :

wrong number of arguments (3 for 2) 
Error creating formatter: progress (ArgumentError) 
/home/alder/.rvm/gems/[email protected]/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize' 

/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `new' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `block in formatters' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `map' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `formatters' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:68:in `build_tree_walker' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/runtime.rb:42:in `run!' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:43:in `execute!' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:20:in `execute' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/bin/cucumber:14:in `<top (required)>' 
/home/alder/.rvm/gems/[email protected]/bin/cucumber:19:in `load' 
/home/alder/.rvm/gems/[email protected]/bin/cucumber:19:in `<main>' 

그리고 만약 내가 cucumer.yml에서 약간의 에러를 작성한다면 :

Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2) 
Error creating formatter: progress> 
backtrace: 
/home/alder/.rvm/gems/[email protected]/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `new' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `block in formatters' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `map' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `formatters' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:68:in `build_tree_walker' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/runtime.rb:42:in `run!' 
/home/alder/.rvm/gems/[email protected]/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:43:in `execute!' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/test_framework/cucumber.rb:24:in `run_tests' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:13:in `block in run' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/forker.rb:21:in `block in initialize' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `fork' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `initialize' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `new' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `run' 
/home/alder/.rvm/gems/[email protected]/gems/spork-0.9.0.rc9/lib/spork/server.rb:48:in `run' 
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block' 
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform' 
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop' 
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop' 
/home/alder/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop' 

어쨌든 그것은 문제가 될 수 있습니다.

답변

4

, 나는 내가 완전히의로 그러므로 내가 다른 대답을 게시하도록하겠습니다 (문제를 볼 생각을 참조 전혀 문제가 아니었다 내 다른 것과는 다른). Cucumber가 ActiveRecord 클래스를 인스턴스화하려고 시도하는 것처럼 보입니다. 그래서 프로젝트에서 어딘가에 '진행률'이라는 모델이 있다고 생각합니다. 오이가 실제 포맷터 대신 생성하려고합니다. 당신이 완전한 클래스를 지정 할 수 있어야 문서에 따르면

class Progress 
    def initialize 
     raise "I don't exist!" 
    end 
end 

:

본인은 '지원'폴더에이 클래스를 추가하여 (충분히 가까이, 어쨌든) 문제를 재현 할 수 있었다 여기에 ie --format Cucumber::Formatter::Progress이라는 이름을 붙이면 Cucumber는 자신의 포맷터를 사용하게됩니다. 그러나, 나는 이것을 시도하고 여전히 작동하지 않는다. 오이가 완전한 이름을 어떻게 해결하는지 버그가있는 것 같다.

나는 나의 env.rb 파일에 다음 행을 추가하여이 문제를 얻을 수있었습니다 :

require 'cucumber/formatter/progress' 

것은 다음 날이 성공적으로 cucumber --format progress을 실행할 수있다.

다른 코드보다 앞에 env.rb이 실행되면 Cuchumber의 Progress 클래스가 포맷터를 만들 때 처음으로 발견됩니다.

+0

굉장! 이렇게 상세한 답변을 해주셔서 감사합니다. env에'require'를 추가하면됩니다. – zishe

0

:

을 만드는 중 오류 포맷 : 진행 상황을>

질문에 오타가 없다면 어떤 이유로 오이가 '진행>'이라는 형식 표를 만들려고하므로 여분의 꺾쇠 괄호를 찾아서 제거해야 할 수 있습니다.


편집 :이 질문에서 업데이트 된 정보를 바탕으로 my other answer

+0

'>'이 없으므로 콘솔 "cucumber --format progress"를 시도해 보았지만 작동하지 않습니다. – zishe

+0

'--backtrace' 매개 변수를 추가하고 출력을 게시 할 수 있습니까? –

+0

또한 실행중인 전체 명령 줄을 게시 할 수 있습니까? –

관련 문제