gpt4 book ai didi

cucumber - RubyMine 中的 Capybara 代码完成

转载 作者:行者123 更新时间:2023-12-03 06:22:36 25 4
gpt4 key购买 nike

Cucumber的步骤定义中使用Capybara时,有没有办法从RubyMine的代码完成中获得一些帮助?我是Capybara的新手,因此不必一直检查引用站点会非常有帮助。

目前我能得到的最好方法是显式调用 Session.new,例如:

session = Capybara::Session.new(:rack_test, my_app)

这样,session.之后的Ctrl+Space向我展示了来自Capybara::Session的方法(仅),所以至少我知道它在某种程度上可达。但这并不是我在步骤定义中真正使用 Capybara 的方式。我认为通过手动注释 page 来帮助类型推断引擎可以解决问题,但我认为所有这些 DSL 魔法都难以处理。

所以基本上,是否有可能以某种方式拥有

page.<Ctrl+Space>

弹出所有公开的DSL方法? RubyMine API 也许吧?或者,作为替代方案,有其他方法可以使引用文档更接近(我认为 RubyMine 还不支持 IDE 中的外部文档)?

最佳答案

从 RubyMine 8.0.3 开始,答案是否定的,RubyMine 不会在 Cucumber 步骤定义中完成 page. 之后的 Capybara 方法,至少当 Capybara 通过 cucumber-rails gem 包含在 Cucumber 中时不会。 I don't see a feature request in the RubyMine issue tracker ;如果有人愿意,可以添加一个。

请注意,cucumber-rails 至少在 Cucumber 世界中包含了 Capybara DSL,因此您无需在 Capybara 方法前面键入 page.。您可以将 visitfill_in 等作为 self 方法调用。我不想仅仅为了 RubyMine 的完成而在我的步骤定义中添加不必要的 page.

不幸的是,当您在键入任何内容之前在步骤定义中调用完成时,RubyMine 也不将 Capybara 方法包含在它完成的名称列表中。当您两次调用完成时(所有可用代码中的所有名称),它确实将 Capybara 方法包含在它完成的名称列表中,但由于该列表太长,只有当您已经知道您想要的方法,或者至少知道一个方法时,它才有用。正确的前缀。

关于cucumber - RubyMine 中的 Capybara 代码完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com