【发布时间】:2015-09-28 13:21:07
【问题描述】:
我在app/models/foo.rb 中定义了一个模型Foo:
class Foo
def self.bar
# do bar
end
end
在app/use_cases/do_bar.rb中定义的用例中调用此方法
module UseCases
class DoBar
def call
Foo.bar
end
end
end
最近,我遇到了以下空气制动错误:
UseCases::Foo:Class 的未定义方法 `bar'
我假设这个错误可以通过在用例中添加:: 到Foo 来解决,但我不确定如何强制这个错误?我已经进行了用例测试,无论是否使用::,这些测试都通过了。
如何编写测试以确保将:: 前置到Foo 是解决此错误的正确方法?
【问题讨论】:
-
你真的有 UseCases::Foo 吗?
-
@violarium,这是一个合理的问题:P 不,我不知道。
-
但是很奇怪,如果不这样做,就会出现类似“NameError: uninitialized constant UseCases”这样的错误
标签: ruby-on-rails ruby ruby-on-rails-4 rspec