「プロを目指す人のための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を実行したらパスすることができました。
テスト自動化を今後の章を通してしっかり身につけたいと思います。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る