1
我沒有任何代碼,因爲這只是一個假設性問題,但您將如何訪問和操作rspec中的實例變量?訪問rspec中的實例變量
例如,如果你在類的初始化方法中有一個@counter變量,你怎麼能寫一個測試,說如果@counter是一個特定的數字,那麼某個方法應該返回true。如果它等於一個不同的數字,那麼該方法應該返回false。
我沒有任何代碼,因爲這只是一個假設性問題,但您將如何訪問和操作rspec中的實例變量?訪問rspec中的實例變量
例如,如果你在類的初始化方法中有一個@counter變量,你怎麼能寫一個測試,說如果@counter是一個特定的數字,那麼某個方法應該返回true。如果它等於一個不同的數字,那麼該方法應該返回false。
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
。
爲了澄清,計數器不會像這樣設置。玩家名稱將是初始化定義中的參數,初始化時計數器會自動設置爲0。玩家回合後,計數器每次增加一次 –
聽起來你想要一個'#has_moved?'方法。所以這個方法會檢查'@ counter'。上述測試將起作用。 –
好的很酷。我會嘗試解決一些代碼。謝謝你的幫助! –