Cucumber 2.0.0 与 RubyMine 6.x 和 TeamCity 格式化程序不兼容

2023-12-19

我正在尝试在我的自动化测试套件中设置 Cucumber。我目前正在使用 Ruby 2.0,但在使用 Ruby 2.2 时也遇到了同样的问题。

我尝试过 Cucumber 2.0.0 以及 2.0.0.beta.3。它们似乎都不与 Ruby 2.0 或 2.2 兼容。

每次我尝试运行我的 .feature 文件之一时,都会收到相同的错误。 Cucumber 声称与 Ruby >= 1.9.3 的任何版本兼容(https://rubygems.org/gems/cucumber https://rubygems.org/gems/cucumber),但这似乎并非如此。

还有其他人看到过这个错误吗?还有其他人成功地将 Cucumber 2.0.0 与 Ruby 2.0 或 2.2 一起使用吗?如果是这样,您的 Gemfile 中有哪些 gem,以及运行时会显示哪些特定的 ruby​​ 更新/版本ruby --version?

**如果我恢复到旧版本的 Cucumber(我尝试过 1.3.3),我可以正确运行我的 .feature 文件。但我正在从头开始构建一个新的测试套件,并想借此机会使用所有可能的 gem 的最新和最好的版本。我不想围绕已弃用的 Cucumber 版本构建 Gemfile。

`Cucumber::Ast` no longer exists. These classes have moved into the `Cucumber::Core::Ast` namespace, but may not have the same API. (RuntimeError)
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/ast.rb:10:in `const_missing'
C:/Program Files (x86)/JetBrains/RubyMine 6.3/rb/testing/patch/bdd/teamcity/cucumber/common.rb:210:in `scenario_outline?'
C:/Program Files (x86)/JetBrains/RubyMine 6.3/rb/testing/patch/bdd/teamcity/cucumber/common.rb:218:in `tc_before_feature_element'
C:/Program Files (x86)/JetBrains/RubyMine 6.3/rb/testing/patch/bdd/teamcity/cucumber/formatter_03103.rb:98:in `before_feature_element'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/ignore_missing_messages.rb:10:in `method_missing'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:521:in `before'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:394:in `switch_to_child'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:316:in `switch_step_container'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:242:in `after_test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:85:in `after_test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/legacy_api/adapter.rb:37:in `after_test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/fanout.rb:16:in `block in method_missing'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/fanout.rb:15:in `each'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/formatter/fanout.rb:15:in `method_missing'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/runner.rb:18:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/prepare_world.rb:11:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/apply_around_hooks.rb:8:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/apply_after_hooks.rb:5:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/apply_before_hooks.rb:5:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/apply_after_step_hooks.rb:8:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/activate_steps.rb:8:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/filters/quit.rb:11:in `test_case'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/case.rb:21:in `describe_to'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/filters/locations_filter.rb:17:in `block in done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/filters/locations_filter.rb:16:in `each'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/filters/locations_filter.rb:16:in `done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/filter.rb:61:in `done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/test/filters/tag_filter.rb:18:in `done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/compiler.rb:23:in `done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core/gherkin/parser.rb:31:in `done'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core.rb:29:in `parse'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-core-1.1.3/lib/cucumber/core.rb:18:in `compile'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/runtime.rb:70:in `run!'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/lib/cucumber/cli/main.rb:38:in `execute!'
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-2.0.0/bin/cucumber:9:in `<top (required)>'
C:/Ruby200/bin/cucumber:23:in `load'
C:/Ruby200/bin/cucumber:23:in `<top (required)>'
-e:1:in `load'

**更新:当我通过运行文件时Windows Shell它运行成功,没有错误。


症状: 您可以在 cucumber 命令行下运行测试,但无法在 RubyMine 下运行,出现错误:

wrong number of arguments (1 for 3..4)
Error creating formatter: Teamcity::Cucumber::Formatter (ArgumentError)
C:/Program Files (x86)/JetBrains/RubyMine 7.0.4/rb/testing/patch/bdd/teamcity/cucumber/formatter_03103.rb:22:in `initialize'

我找到了一个更简单的解决方案: 只要去Rubymine -> Run -> Edit Configuration,转到跑步者选项,添加"--format pretty".这将覆盖Teamcity不兼容的问题并顺利运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cucumber 2.0.0 与 RubyMine 6.x 和 TeamCity 格式化程序不兼容 的相关文章

随机推荐

  • Zend Action 助手与插件

    我有一个出现在每个页面上的侧边栏 侧边栏的第一个元素是 a 登录表单 或 b 当前用户的详细信息 取决于用户是否登录 我已经阅读了一些实现此目的的方法 并计划在引导程序中初始化侧边栏占位符 当需要将用户详细信息或登录表单附加到侧边栏时 我应
  • Allegro CL 在调用(读取)函数时冻结

    每当我打电话给 read 在 Allegro Common Lisp 9 0 中 调试窗口 中断 抱歉 我想不出更清晰的术语 鼠标变成旋转的蓝色死亡轮 窗口拒绝评估任何新输入 尽管它可以仍然可以输入 IDE 的其他部分不受影响 屏幕看起来像
  • 关于加快选边速度的建议

    我正在用 C 构建一个图形编辑器 用户可以在其中放置节点 然后将它们与有向或无向边连接 完成后 A 寻路算法确定两个节点之间的最佳路径 我拥有的 具有 x y 连接节点列表以及 F G 和 H 分数的 Node 类 具有 Start Fin
  • 标准库方法的成员函数指针问题

    这个问题源于 将指向重载类方法的成员函数指针传递到模板函数中 https stackoverflow com questions 31309846 passing a member function pointer to an overlo
  • 丰富的卡片属性 Markdown 格式

    我在英雄卡中的文本属性的降价格式方面遇到问题 这是代码示例 HeroCard heroCard new HeroCard Text Place1 Berlin n n Place2 Hamburg Buttons cardButtons 它
  • 使用 Google Earth Engine 计算每个地区、月份和年份的 NDVI?

    我想计算每个区域 管理级别 3 也称为 Wearda 月份和年份的平均 NDVI 所以我的最终结果看起来像这样 regions year month NDVI region 1 2010 1 0 5 region 1 2010 2 0 6
  • 如果没有空间,操作栏会将选项卡转换为列表导航

    I have an actionbar with a logo a title 2 tabs and a search function On a phone 3 5 everything works fine The actionbar
  • Git:跟踪还是取消跟踪 Android API 密钥?

    我正在使用适用于 Android 的 Google 地图 API 当我想在旅行时处理代码时 我将代码从桌面推送到 Github 然后从 Github 下载到我的笔记本电脑上 就 Google Maps API 而言 我需要将 API 密钥放
  • Xcode 6 iOS 8 UITableView rowHeight 属性返回 -1 [重复]

    这个问题在这里已经有答案了 我有一个UITableView在我的项目中的 Xcode 中 我设置了rowHeight to be 44 in StoryBoard 在 iOS7 中一切正常 但在 iOS8 rowHeight 返回值 1这导
  • Java:showInputDialog 中的自定义按钮

    如何将自定义文本添加到 JOptionPane showInputDialog 的按钮 我知道这个问题带有自定义按钮的 JOptionPane showInputDialog https stackoverflow com question
  • 在滚动时有效调整 UITableViewCell 的大小

    大概的概念 我希望在用户滚动列表时动态调整 UITableViewCells 的大小 也就是说 使项目在到达列表底部时尺寸增大 注意事项 这是一个每秒需要刷新多次的进程 因为调用如下 void scrollViewDidScroll UIS
  • caret:结合分层的 createMultiFolds (repeatedCV) 和 groupKFold

    我的问题与中提出的问题非常相似插入符号 结合 createResample 和 groupKFold https stackoverflow com questions 48142617 caret combine createresamp
  • 在 pandas 数据框中的两列之间传输值

    我有一个像这样的熊猫数据框 p q 0 5 0 5 0 6 0 4 0 3 0 7 0 4 0 6 0 9 0 1 所以 我想知道 如何将较大的值传输到 p 列 反之亦然的 q 列 将较小的值传输到 q 列 如下所示 p q 0 5 0 5
  • Lua中的线程优先级

    我看了Lua的书 了解到Lua中的多线程是协作的 我找不到的是有关线程优先级的一些信息 我猜想具有相同优先级的线程会运行直到完成 因为多线程是协作的 或者完成了收益 如果一个线程的优先级高于另一个线程呢 它是否能够中断优先级较低的线程 或者
  • 允许的内存大小 268435456 字节已耗尽[重复]

    这个问题在这里已经有答案了 可能的重复 允许的 X 字节内存大小已耗尽 https stackoverflow com questions 4096582 allowed memory size of x bytes exhausted 我
  • 反序列化 ArrayList。没有有效的构造函数

    这就是我反序列化包含标识对象的 arrayList 的方式 public void deserializeArrayList String path qbank IdentificationHARD quiz try FileInputSt
  • Nextjs 在生产服务器上部署后不使用图像 url 获取图像

    对于生产部署 我们有一个由 3 台 Linux 机器组成的网络 其中两个用于部署 一个是 nginx 代理 对于开发部署 我们有一台单独的 Linux 机器 在前端 这是一个 nextjs 框架 内部 设置了一个 http proxy mi
  • VB中可以继承带参数的sub new(构造函数)吗?

    在下面的代码中我收到编译错误 Error Too many arguments to Public Sub New on the Dim TestChild As ChildClass New ChildClass c 我没有收到它Test
  • ASP.NET MVC3:您可以发布并绑定对象数组吗?

    我的任务是创建一个表单 允许用户向其中添加一组或多组答案 例如 他们将从下拉列表中进行选择 然后将另一组输入添加到表单中 他们可以重复此过程 X 次 就服务器上的处理而言 处理此问题的最佳方法是什么 我知道我可以将每个元素绑定到一个列表 然
  • Cucumber 2.0.0 与 RubyMine 6.x 和 TeamCity 格式化程序不兼容

    我正在尝试在我的自动化测试套件中设置 Cucumber 我目前正在使用 Ruby 2 0 但在使用 Ruby 2 2 时也遇到了同样的问题 我尝试过 Cucumber 2 0 0 以及 2 0 0 beta 3 它们似乎都不与 Ruby 2