我的rsspec行
allow_any_instance_of(School).to receive(:admission).and_return(:body)
我的lib/school.rb
中有我的录取方法模块学校
def self.admission()
像这样,但当我运行rspec时,它会抛出类似的错误
Failure/Error: allow_any_instance_of(School).to receive(:admission),and_return(:body)
School does not implement #admission
admission
是本例中的一个类方法(注意它前面的self.
(。这意味着允许任何实例接收该方法是没有意义的。
你有两个选择:
- 将其保留为类方法,但将期望值更改为
allow(School).to receive(:admission)...
或 - 通过移除
self.
来生成admission
和实例方法
这取决于您的应用程序,哪种方法更有意义。