我正在尝试测试一个使用示例变量来调用featureEnabled方法的方法。我正在尝试为此编写一个rspec单元测试。我正在allow语句中使用下面的设置。不确定如何执行此操作
异常:=〉#〈无方法错误:未定义nil的'feature_enabled?'方法:NilClass〉
Api.controllers :Customers do
@domain = current_account.domain
def main
t1 = @domain.featureEnabled?("showPages")
blah
测试项目:
RSpec.describe ApiHelpers do
describe "#find_matching_lists" do
let(:domain) { Domain.new }
it "madarchod3" do
allow(domain).to receive(:featureEnabled?).with("showPages").and_return(true)
end
end
1条答案
按热度按时间2hh7jdfx1#
在块中定义的变量是该块的局部变量,它们不存在于该块之外。
你遇到的问题是,你用let创建的
domain
变量只在传递给describe
的块中可见。你的测试必须在describe
块中定义,这样它才能访问这个变量,也就是说,这应该是可行的: