RSpec - 无效的空格字符导致未定义的方法`should'?

时间:2015-07-25 18:09:44

标签: ruby rspec atom-editor

在RubyMine& amp;编写规范时偶尔会出现一个非常烦人的错误。原子似乎有一个无效的空格字符,因此ruby会将第一个(空白)字符作为方法名称的一部分进行评估。

1) Activity 
     Failure/Error: it { should belong_to :micropost }
     NoMethodError:
       undefined method ` should' for #<RSpec::ExampleGroups::Activity:0x007fd00e41bd20>
     # ./spec/models/activity_spec.rb:5:in `block (2 levels) in <top (required)>'

请注意错误消息中' should'前面的空格。

我试过打开隐形字符,我看不到任何与普通空间不同的东西。

删除it块内的第一个空格并点击空格键可以解决问题,但是回过头来修复块一直很烦人。

关于导致错误的原因的任何想法?

根据建议我添加了在十六进制编辑器中打开的规范。违规字节为C2 A0 -

it { should belong_to :micropost }
69 74 20 7B C2 A0 73 68 6F 75 6C 64 20 62 65 6C 6F 6E 67 5F 74 6F 20 3A 6D 69 63 72 6F 70 6F 73 74 20 7D

1 个答案:

答案 0 :(得分:0)

原来最可能的原因是我的胖胖手指击中 alt(选项) + 空格键。这也解释了为什么即使在我改变编辑后它也会发生。

我通过下载Karabiner并激活Non Breaking Space To Normal Space来解决了这个问题。