ruby-on-rails – RubyMine不识别`it_behaves_like`方法

当我打开一个类似it_behaves_like方法的规范时,Rubymine无法识别错误消息,找不到’it_behaves_like’.

RSpec测试本身工作正常,所以Rubymine无法找到该方法.

在Preference中列出了rspec-rails.

我怎样才能找到问题所在?

编辑

看来Rubymine无法识别动态定义的方法.

https://youtrack.jetbrains.com/issue/RUBY-13950

解决方法

是的,Rubymine,即使是最新版本也存在识别这些生成方法的问题.您可以选择“欺骗”Rubymine来识别它.只需将以下空方法添加到spec_helper.rb的末尾:
def it_behaves_like(*args) ; end

这将使Rubymine看到具有正确签名的方法,但它仍将被rspec覆盖,因此它不会影响您的测试.

更好的是,你可以将它放在spec_helper.rb的require中,例如: rubymine_signatures.rb

require 'rubymine_signatures'

然而,无论它放在何处,它仍将污染您的代码库以“修复”IDE,我不建议这样做.由于它仅用于测试,因此可以进行防御.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...