运行 RubyMine 中的 Cucumber 测试场景时出错

Error when running Cucumber test scenario in RubyMine

为了完全透明,我一小时前开始学习关于 Cucumber。我一直在关注关于在 Ruby 中使用 Selenium 和 Cucumber 的简明教程,直到 this 点我才遇到任何问题。

本质上,我正在尝试 运行 一个测试场景(?),但我收到了这个错误:

C:\Ruby27-x64\bin\ruby.exe -EUTF-8 C:\Ruby27-x64\bin\cucumber C:/Users/kanwo/RubymineProjects/untitled/features/1.feature --format Teamcity::Cucumber::Formatter --expand --color -r features
Testing started at 7:09 am ...
wrong number of arguments (given 1, expected 2)
Error creating formatter: Teamcity::Cucumber::Formatter (ArgumentError)
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/formatter/io.rb:12:in `ensure_io'
C:/Program Files/JetBrains/RubyMine 2020.3.2/plugins/ruby/rb/testing/patch/bdd/teamcity/cucumber/cucumber_4_formatter.rb:20:in `initialize'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/formatter/io.rb:30:in `new'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/formatter/io.rb:30:in `new'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/runtime.rb:206:in `create_formatter'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/runtime.rb:195:in `block in formatters'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/configuration.rb:209:in `block in formatter_factories'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/configuration.rb:207:in `map'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/configuration.rb:207:in `formatter_factories'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/runtime.rb:194:in `formatters'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/runtime.rb:174:in `report'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/runtime.rb:76:in `run!'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/lib/cucumber/cli/main.rb:29:in `execute!'
C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/cucumber-5.3.0/bin/cucumber:9:in `<top (required)>'
C:/Ruby27-x64/bin/cucumber:23:in `load'
C:/Ruby27-x64/bin/cucumber:23:in `<main>'

错误通常很直截了当,但我觉得我对框架的了解还不够(?再一次,当我刚刚进入这个领域时,请告诉我)所以我做了一些研究,发现这是一段时间的问题,根据这些实例:

第一个link很丑,你已经被警告了

2015, Instance 1

2015, Instance 2

2015, Instance 3

2018, Instance 4

2020, Instance 5

2021, Instance 6

2021, 9 days ago, Instance 7

当然,这些并不都是完全与我的相同的错误,但它们似乎有一个共同的主题;版本。

所以据我了解,这是 Cucumber、RubyMine 和 TeamCity 版本之间的冲突。 话虽如此,我在这里基本上不走运吗?我可以用 VSCode 之类的方式执行吗?如果没有必要,我不喜欢把问题扔到论坛上,但我什至不知道从哪里开始解决这个问题。

此外,如果有帮助,这就是我 运行ning:

Feature: Feature Name

  Scenario: Logging in
    Given I am on the login page
    When I enter my password correctly
    Then I will be logged in and provided a confirmation

这些是我的本地珍宝:

activesupport (6.1.3)
ast (2.4.2)
benchmark (default: 0.1.0)
bigdecimal (default: 2.0.0)
builder (3.2.4)
bundler (default: 2.1.4)
cgi (default: 0.1.0)
childprocess (3.0.0)
concurrent-ruby (1.1.8)
csv (default: 3.1.2)
cucumber (5.3.0)
cucumber-core (8.0.1)
cucumber-create-meta (2.0.4)
cucumber-cucumber-expressions (10.3.0)
cucumber-gherkin (15.0.2)
cucumber-html-formatter (9.0.0)
cucumber-messages (13.2.1)
cucumber-tag-expressions (2.0.4)
cucumber-wire (4.0.1)
date (default: 3.0.0)
dbm (default: 1.1.0)
delegate (default: 0.1.0)
did_you_mean (default: 1.4.0)
diff-lcs (1.4.4)
etc (default: 1.1.0)
fcntl (default: 1.0.0)
ffi (1.15.0 x64-mingw32)
fiddle (default: 1.0.0)
fileutils (default: 1.4.1)
forwardable (default: 1.3.1)
gdbm (default: 2.1.0)
getoptlong (default: 0.1.0)
i18n (1.8.9)
io-console (default: 0.5.6)
ipaddr (default: 1.2.2)
irb (default: 1.2.6)
jar_wrapper (0.1.8)
json (default: 2.3.0)
logger (default: 1.4.2)
matrix (default: 0.2.0)
middleware (0.1.0)
minitest (5.13.0)
multi_test (0.1.2)
mutex_m (default: 0.1.0)
net-pop (default: 0.1.0)
net-smtp (default: 0.1.0)
net-telnet (0.2.0)
observer (default: 0.1.0)
open3 (default: 0.1.0)
openssl (default: 2.1.2)
ostruct (default: 0.2.0)
parallel (1.20.1)
parser (3.0.0.0)
power_assert (1.1.7)
prime (default: 0.1.1)
protobuf-cucumber (3.10.8)
pstore (default: 0.1.0)
psych (default: 3.1.0)
racc (default: 1.4.16)
rainbow (3.0.0)
rake (13.0.1)
rdoc (default: 6.2.1)
readline (default: 0.0.2)
regexp_parser (2.1.1)
reline (default: 0.1.5)
rexml (default: 3.2.3)
rss (default: 0.2.8)
rubocop (1.11.0)
rubocop-ast (1.4.1)
ruby-progressbar (1.11.0)
rubyzip (2.3.0)
sdbm (default: 1.0.0)
selenium (0.2.11)
selenium-webdriver (3.142.7)
singleton (default: 0.1.0)
stringio (default: 0.1.0)
strscan (default: 1.0.3)
sys-uname (1.2.2)
test-unit (3.3.4)
thor (1.1.0)
thread_safe (0.3.6)
timeout (default: 0.1.0)
tracer (default: 0.1.0)
tzinfo (2.0.4)
unicode-display_width (2.0.0)
uri (default: 0.10.0)
webrick (default: 1.6.0)
xmlrpc (0.3.0)
yaml (default: 0.1.0)
zeitwerk (2.4.2)
zip (2.0.2)
zlib (default: 1.1.0)

如有任何见解,我们将不胜感激!

这是一个 Ruby我的错误。在 Cucumber 端我们无能为力。

您可以参考不推荐的 monkeypatch / hack。或者降级到 Cucumber5 的早期版本。

有关详细信息,包括其他可能的解决方法和 Jetbrains 修复的时间表,请参阅 https://youtrack.jetbrains.com/issue/RUBY-27294

Luke - Cucumber Ruby 提交者。

我遇到了同样的问题,但通过按照以下步骤更新 RubyMine 中的 运行 设置解决了:

运行->Edit Configurations->Templates->Cucumber->Configuration-> 运行ner Options as "--color -r features -f pretty"