Я работаю над реализацией чекеров, где у меня есть десятки легко проверяемых методов, но я не уверен, как протестировать мой основной метод #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) или мне не следует беспокоиться об этом, а действительно о моем всестороннем тестировании?