方法适用于rails控制台,但rspec表示方法未定义

时间:2011-06-06 03:25:46

标签: ruby-on-rails ruby rspec

在我的rails 3应用程序中,我有一个lib文件夹:

/lib
/lib/abc/some_class.rb
/lib/abc/some_class/other.rb

some_class.rb:

module ABC
  class SomeClass
  end
end

other.rb

module ABC
  class SomeClass::Other
    def self.hello(a,b,c,)
      false
    end
  end
end

如果我启动rails控制台,我可以这样做:

ABC::SomeClass::Other.hello(1,2,3)

并输出false

在我的rspec测试中,我有相同的一行:

result = ABC::SomeClass::Other.hello(1,2,3)

我得到了:

undefined method 'hello' for #<Class:0x.......>

这是命名空间问题吗?文件夹问题?

1 个答案:

答案 0 :(得分:1)

rspec文件中的要求是什么?它需要包括some_class.rb和some_class \ other.rb(您可能需要修改加载路径以包含两者)