【发布时间】:2011-11-30 17:09:09
【问题描述】:
我正在开发一个跳棋实现,其中有许多易于测试的方法,但我不确定如何测试我的主要 #play_game 方法。在我的大多数方法很容易确定输入和输出的情况下,因此很容易测试,但这种方法是多方面的,实际上并没有容易辨别的输出。代码如下:
def play_game
puts @gui.intro
while(game_over? == false)
message = nil
@gui.render_board(@board)
@gui.move_request
player_input = gets
coordinates = UserInput.translate_move_request_to_coordinates(player_input)
message = MoveCheck.move_validator(coordinates[0], coordinates[1], coordinates[2], coordinates[3])
puts message unless (message.nil? or message == "jumping move")
if(message == nil or message == "jumping move")
@current_player = switch_player unless (message == "jumping move" and jump_available? == true)
end
end
puts @gui.display_game_ending_message
end
那么我该如何测试这个(使用 RSpec)或者我不应该担心它并且真的在我的其他综合测试中?
【问题讨论】:
-
FWIW,请注意,如果您先进行此测试,那么您当然会拥有易于测试的方法。
-
@MarnenLaibow-Koser,此外,您也已经进行了测试!