为什么这个存根方法应该返回nil返回别的东西?

时间:2014-03-04 00:12:14

标签: testing rspec

我正在修改这样的方法:

User.stub_chain(:something).and_return(nil)

当我测试时,我希望此代码引发错误:

raise NameError if User.something.blank?

问题是User.something.blank?不是true,即使它应该以{{1​​}}值存根。 nil实际上是

User.something

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的存根代码或您尝试测试的代码没有任何问题,如以下通过测试所示:

require 'spec_helper'

class User ; end
describe "" do
  it "" do
    User.stub_chain(:something).and_return(nil)
    expect { raise NameError if User.something.blank? }.to raise_error(NameError)
  end
end

您的代码中的其他地方一定有问题。