RSpec - 无效 space 字符导致未定义的方法“should”?
RSpec - invalid space character causes undefined method ` should'?
在 RubyMine 和 Atom 中编写规范时,我偶尔会遇到一个非常烦人的错误,其中似乎有一个无效的 space 字符,因此 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'
前面的space。
我试过打开隐形字符,但我看不出有什么不同于正常的 space。
删除 it
块中的第一个 space 并点击 space 栏可以解决问题,但返回并一直修复块非常烦人。
关于导致错误的原因有什么想法吗?
已添加
根据建议,我添加了在十六进制编辑器中打开规范。有问题的字节是 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
原来最可能的原因是我胖胖的黄油手指击中了 alt(选项) + 空格键。这也解释了为什么即使在我切换编辑器后它也会发生。
我通过下载 Karabiner 并激活 Non Breaking Space To Normal Space
解决了这个问题。
在 RubyMine 和 Atom 中编写规范时,我偶尔会遇到一个非常烦人的错误,其中似乎有一个无效的 space 字符,因此 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'
前面的space。
我试过打开隐形字符,但我看不出有什么不同于正常的 space。
删除 it
块中的第一个 space 并点击 space 栏可以解决问题,但返回并一直修复块非常烦人。
关于导致错误的原因有什么想法吗?
已添加
根据建议,我添加了在十六进制编辑器中打开规范。有问题的字节是 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
原来最可能的原因是我胖胖的黄油手指击中了 alt(选项) + 空格键。这也解释了为什么即使在我切换编辑器后它也会发生。
我通过下载 Karabiner 并激活 Non Breaking Space To Normal Space
解决了这个问题。