2012-10-20 76 views
0

好的,rspec noob here ...我有一個簡單的方法,我想測試。我只是想測試說...當這個方法被稱爲它會返回一個符號...任何指針?rspec測試返回符號

方法....

def defend_corners(board) 
    @board = board 
    @corners = { 
     :a1=>" ", :a3=>" ", 
     :c1=>" ", :c3=>" " 
    } 
    available_moves = @corners.select{ |k, v| v == " " }.keys 
    puts "random move - corners" 
    @move = available_moves[rand(available_moves.length)] 
    return @move 
    end 

電流測試....

describe 'defend_corners' do 
    it 'returns corner move' do 
     myboard = Board.new 

     @player_computer.defend_corners(myboard).should #return a symbol??? 
    end 
    end 

回答

1
@player_computer.defend_corners(myboard).should be_an_instance_of(Symbol) 

@player_computer.defend_corners(myboard).should be_a_kind_of(Symbol) 

@player_computer.defend_corners(myboard).should be_a(Symbol) 
+1

hmph ...現在你在哪裏3小時前? :) – thefonso

0

這不是很漂亮,但我認爲像這樣的工作:

@corners.keys.should_be include @player_computer.defend_corners(myboard) 
+0

你不會碰巧知道怎麼說 「應該返回一個符號」,在rspec的談話你會嗎? – thefonso

+0

。應該是_符號Plz使另一個堆棧溢出問題,如果你有更多的問 –

0

和2.5小時後,答案是(鼓卷).... be_a(符號)