ste*_*her 5 ruby testing rspec
我正在进行一个checkers实现,我有几十个容易测试的方法,但我不知道如何测试我的主#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
Run Code Online (Sandbox Code Playgroud)
那么,如何进行测试(使用RSpec的),或者我应该不用担心,真正对我,否则全面的测试?
一切play_game都是在运行游戏循环.你真正寻找测试是什么情况里面的游戏循环.最简单的方法是将游戏循环的内容分解为更容易测试的方法.
一旦你将游戏循环作为一系列方法,你就可以更容易地单独测试它们中的每一个.
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |