首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cucumber“--格式化进度”不起作用

Cucumber“--格式化进度”不起作用
EN

Stack Overflow用户
提问于 2011-10-03 11:42:33
回答 2查看 1.6K关注 0票数 2

在我的cucumber.yml中,我试图添加这个选项(default: --drb --format progress),但它返回一个错误:

代码语言:javascript
复制
Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2)
Error creating formatter: progress>

当我将它放在括号default: --drb --"format progress"中时,它不会有任何帮助:

代码语言:javascript
复制
invalid option: --format progress (OptionParser::InvalidOption)

所以也许没有选择,但是it should be

"format pretty“无需任何括号即可正常工作。我不想看到控制台中的所有场景,但只想看到有错误的场景,也许还有其他方法可以做到这一点。

完整跟踪:

代码语言:javascript
复制
wrong number of arguments (3 for 2)
Error creating formatter: progress (ArgumentError)
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize'

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

如果我在cucumer.yml中写option,错误会略有不同:

代码语言:javascript
复制
Exception encountered: #<ArgumentError: wrong number of arguments (3 for 2)
Error creating formatter: progress>
backtrace:
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/activerecord-3.1.0/lib/active_record/base.rb:1543:in `initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `new'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:168:in `block in formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `map'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:163:in `formatters'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/configuration.rb:68:in `build_tree_walker'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/runtime.rb:42:in `run!'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/cucumber-1.1.0/lib/cucumber/cli/main.rb:43:in `execute!'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/test_framework/cucumber.rb:24:in `run_tests'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:13:in `block in run'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:21:in `block in initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `fork'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/forker.rb:18:in `initialize'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `new'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/gems/spork-0.9.0.rc9/lib/spork/run_strategy/forking.rb:9:in `run'
/home/alder/.rvm/gems/ruby-1.9.2-p290@global/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'

顺便说一句,我有一个烤肉,也许是个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-05 18:58:32

根据你问题中的更新信息,我想我看到了问题(因此我发布了另一个答案,因为它与我的另一个完全不同)。看起来Cucumber正在尝试实例化一个ActiveRecord类,所以我怀疑您的项目中有一个名为“Progress”的模型,它是Cucumber试图创建的,而不是实际的格式化程序。

通过将这个类添加到'support‘文件夹中,我能够重现您的问题(无论如何,已经足够接近了):

代码语言:javascript
复制
class Progress
    def initialize
        raise "I don't exist!"
    end
end

根据文档,您应该能够在此处指定一个完全限定的类名,即--format Cucumber::Formatter::Progress,以强制Cucumber使用它自己的格式化程序。然而,我试过了,它仍然不起作用,在如何黄瓜解析完全限定的名称似乎有一个错误。

我可以通过在我的env.rb文件中添加下面这行代码来解决这个问题:

代码语言:javascript
复制
require 'cucumber/formatter/progress'

这使得我可以成功地运行cucumber --format progress

我认为,由于Cucumber在执行任何其他代码之前执行,因此env.rbProgress类将是创建格式化程序时发现的第一个类。

票数 4
EN

Stack Overflow用户

发布于 2011-10-03 14:31:24

从您粘贴的输出来看,您的cucumber.yml文件中有一个额外的尖括号('>')浮动:

创建格式化程序时出现

错误: progress>

除非这是你问题中的一个拼写错误,因为某些原因,Cucumber正在尝试创建一个名为'progress>‘的格式化程序,所以你可能只需要找到并删除多余的尖括号。

编辑:这根本不是问题所在,请参阅my other answer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7630844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档