テストファイルの作成

現在の三目並べプロジェクトのフォルダ構成を修正しテストファイルを作成します。

修正1 tic_tac_toe.rbの作成

main.rb内にある基本ロジックを全て、tic_tac_toe.rbに移します。

tic_tac_toeフォルダ内にtic_tac_toe.rbを作成してください。

ruby-practice/
 ├ docker-compose.yml
 ├ code/
 │ └ Dockerfile
 │ └ main.rb
 │ └ tic_tac_toe/
 │    └ tic_tac_toe.rb

この時に、ゲームのメイン部分に関しては以下のようなメソッドを実装してtic_tac_toe.rbに移植してください。

# 説明: ゲームのmain部分
#       このメソッドをコールするとゲームが始まる
# 引数: なし
# 戻り値: なし
def start
  player = 1
  board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

  while continue?(player, board)
    row, col = gets_position()

    place_piece(board, player, row, col)

    put_board(board)

    player = get_opponent_player(player)
  end

  put_result(board)
end

修正2 main.rbの修正

新しく定義したstartメソッドをmain.rbでコールするように修正を加えます。

require "./tic_tac_toe/tic_tac_toe"

start()

修正3 テストファイルの作成

テストを記載していくtic_tac_toe_test.rbファイルを作成します。

ruby-practice/
 ├ docker-compose.yml
 ├ code/
 │ └ Dockerfile
 │ └ main.rb
 │ └ tic_tac_toe/
 │    └ tic_tac_toe.rb
 │ └ test/
 │    └ tic_tac_toe_test.rb

以上でフォルダの修正は完了となります。

テストを動作させる

作成したtic_tac_toe_test.rbに以下の内容を追加してください。

require "minitest/autorun"
require "../tic_tac_toe/tic_tac_toe"

class TicTacToeTest < Minitest::Test
end

一度テストを動かしてみましょう(何も書かれておりませんが)

ruby tic_tac_toe_test.rb 

下のようなログが出てたらテストが実行できています。

Run options: --seed 6237

# Running:



Finished in 0.001210s, 0.0000 runs/s, 0.0000 assertions/s.

0 runs, 0 assertions, 0 failures, 0 errors, 0 skips

テストを実装する準備は整いました!

次のセクションでメソッドをテストしていきましょう!

最終更新