我正在学习Rspec。我在eclipse中的ruby项目如下-
密码-
require 'rspec'
require './RubyOffRailsTuts/classes/furlong'
describe Furlong do
end
错误-
/RubyOffRailsTuts/specs/furlong_spec.rb:6:in `<main>': undefined
method `describe' for main:Object (NoMethodError)
未在线获得任何有用的答案。如何解决此问题?
5条答案
按热度按时间dsekswqp1#
除了将
describe
作为RSpec.describe
的前缀,您还可以添加到您的
spec_helper.rb
。mkshixfv2#
解决方案
调用
RSpec.describe
,而不仅仅是describe
。它成功的原因
从错误消息“undefined method 'describe' for main Object”可以看出,根本问题是您试图在基本Object
main
上调用describe
,而该Object没有describe
方法。fnvucqvd3#
您将
RSpec
作为前缀describe
,例如RSpec.describe
,因为听起来您使用的是禁用猴子修补的RSpec的现代版本。xu3bshqb4#
我同意sevenseacat的观点,您可能使用了一个禁用猴子修补的现代版本的RSpec。
默认情况下,当您执行以下操作时创建
spec_helper.rb
文件时,将执行此禁用操作在
spec_helper.rb
中,您将看到如下所示的部分:您可以注解掉最后一行。
但是,推荐的方法是不使用monkey修补,而使用
RSpec.describe
。6jjcrrmo5#
如果有人碰巧像我一样在几分钟内出现类似的大脑昏迷,并且用途:
代替
并完全震惊,为什么这确实工作了一分钟前,而不是现在,当什么都没有改变-这正是错误弹出。