在运行它显示的rspec时,它没有实现(allow_any_instance_of)



我的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.(。这意味着允许任何实例接收该方法是没有意义的。

你有两个选择:

  1. 将其保留为类方法,但将期望值更改为allow(School).to receive(:admission)...
  2. 通过移除self.来生成admission和实例方法

这取决于您的应用程序,哪种方法更有意义。

相关内容

最新更新