在rspec中访问实例变量

时间:2016-07-13 16:43:59

标签: ruby-on-rails ruby rspec

我没有任何代码,因为这只是一个假设的问题,但您如何在rspec中访问和操作实例变量?

例如,如果你在一个类的initialize方法中有一个@counter变量,你怎么能写一个测试说如果@counter是一个特定的数字,那么某个方法应该返回true。如果它等于不同的数字,那么该方法应该返回false。

1 个答案:

答案 0 :(得分:1)

describe Foo do
  context 'When counter is even' do
    let( :foo ){ Foo.new(4) }

    specify '#even?' do
      expect( foo.even? ).to be_true
    end
  end
end

根据您的问题,初始化方法中设置了@counter。因此,#even?方法会检查@counter