# テストコードのひな型
# テストは、コードが期待通りに動作しているかどうかを確認するために使用されます。
# minitestライブラリを読み込む
require 'minitest/autorun'
# SampleTestというクラスを定義し、Minitest::Testクラスを継承する
class SampleTest < Minitest::Test
# test_sampleという名前のテストメソッドを定義する
def test_sample
# assert_equalメソッドを使って、'ruby'.upcase の結果が 'RUBY' に等しいかをテストする
assert_equal 'RUBY', 'ruby'.upcase
end
end
# ------------------------ console -----------------------------
# okuyama@okuyama:~/ruby_book$ ruby sample_test.rb
# Run options: --seed 36826
# Running:
# .
# Finished in 0.001260s, 793.8045 runs/s, 793.8045 assertions/s.
# 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
# assert_equal 期待する結果, テスト対象となる値や式
Run options: --seed 36826
テストの実行オプションが表示されています。ここでは、--seed オプションに乱数のシード値(ここでは36826)が指定されています。シード値は、テストの実行をランダム化するためのもので、同じシード値を指定すれば再現可能なランダムな振る舞いが得られます。
# Running:
.
テストが実行されました。# Running: の後にドット . が表示されています。これは、1つのテストが実行されたことを示しています。ドットは通常、テストが成功したことを示すマークです。
Finished in 0.001260s, 793.8045 runs/s, 793.8045 assertions/s.
テストの実行時間と実行速度に関する情報が表示されています。ここでは、テストが0.001260秒で終了し、1秒あたり約793.8045回のテストが実行されたことが示されています。
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips
テストの実行結果に関する集計が表示されています。
1 runs: 1つのテストが実行されました。
1 assertions: アサーション(テストの確認条件)が1つ存在します。
0 failures: 失敗したテストの数です。ここでは0なので、失敗はありません。
0 errors: エラーが発生したテストの数です。ここでは0なので、エラーもありません。
0 skips: スキップされたテストの数です。ここでは0なので、スキップされたテストはありません。
以上の情報から、このテストは正常に実行され、アサーションも全て正常に合格したことがわかります。テストが成功したことで、コード内の 'ruby'.upcase が実際に 'RUBY' になることが確認されました。