Тестирование сложного метода

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

5
задан lucapette 30 November 2011 в 17:13
поделиться