プロを目指す人のためのRuby入門・第3章重要ポイントまとめ

「プロを目指す人のためのRuby入門」の第3章を読み終わりました

個人的に重要と判断したポイントをまとめます。

Minitestのテストコード基本形
#1.ライブラリの読み込み
require 'minitest/autorun'

#2.クラスの作成
class SampleTest < Minitest::Test
  
  #3.テストメソッドの作成
  def test_sample
  
    #4.検証メソッドの作成
    assert_equal 'RUBY', 'ruby'.upcase
  end
end

1.ライブラリを読み込んでプログラム内でMinitestを使えるようにするためのコード
2.ここからテストの本体
 クラス名はTestで終わる、もしくは始まる名前を付け、キャメルケースを使うこと
3.実行対象となるテストメソッド
 Minitestはtest_で始まるメソッドを探してそれを実行するため、必ずメソッド名をtest_で始める
4.実行結果を確認するための検証メソッド
 Minitestが提供しているメソッドを使って検証を行う

#aがbと等しければパスする
assert_equal b, a

#aが真であればパスする
assert a

#aが偽であればパスする
refute a
failureとerrorの違い

failureは実行した結果が失敗
errorは検証中にエラーが発生

rubyを実行しているディレクトリがパスの起点となる(絶対パス
ruby-book/
  - lib/fizz_buzz.rb
  - test/fizz_buzz_test.rb

上記のようなディレクトリ構造で1回目のfizz_buzz_test.rbを実行したらLoadErrorが出てしまい実行できませんでしたが、
testディレクトリでrubyを実行していたことが問題だと判明しました。
fizz_buzz_test.rbで

  require './lib/fizz_buzz'

と読み込んでいましたが、./(パスの起点)はrubyを実行しているディレクトリにあたるため、
ディレクトリをruby-bookに移して2回目のfizz_buzz_test.rbを実行したらパスすることができました。

テスト自動化を今後の章を通してしっかり身につけたいと思います。