動機
テストのことを知らないため
プログラマの三大美徳
怠惰、短気、傲慢がある。
怠惰
全体の労力を減らすために手間を惜しまない。
短気
コンピュータの動作が怠惰な時に怒りを感じる
傲慢
自分の書いたプログラムは誰に見せても恥ずかしくない胸を張って言える自尊心
気づき
三大美徳のためにテストを使うのか。
Minitestの基本を選んだ理由
Railsのデフォルトのテすティングフレームワークなので、Railsを開発する時にも知識を活かしやすい。
※排発の現場ではMinitest以外のフレームワークが使われることもあるため
テストコードの雛形
require 'minitest/autorun'
class SampleTest < Minitest::Test
def test_sample
assert_equal 'RUBY', 'ruby'.upcase
end
end
クラス名の注意点
Testで終わる、またはTestで始まる名前をつけることが多い。
テストのファイル名の注意点
クラス名と_test,test_を繋ぎ合わせます。
メソッド名の注意点
メソッド名をtest_で始めることは必須。
テストの内容がわかるように命名する。
requireとは
組み込みライブラリでない標準ライブラリやGemを利用する場合は、明治的にそのライブラリを読み込む必要があります。ライブラリを読み込む場合は次のような構文を使います。
require ライブラリ名
Minitestの検証メソッド
# aがbと等しければパスする
assert_equal b,a
# aが真であればパスする
assert a
# aが偽であればパスする
refute a
まだメソッドはある。
テストコードの実行と結果の確認
$ ruby sample_test.rb
Run options: --seed 14255
# Running:
F
Finished in 0.001383s, 723.1400 runs/s, 723.1400 assertions/s.
1) Failure:
SampleTest#test_sample [sample_test.rb:5]:
Expected: "RUBY"
Actual: "Ruby"
1 runs, 1 assertions, 1 failures, 0 errors, 0 skips
出典
https://qiita.com/jnchito/items/1e928f8088b2cc6bd3fa
0.001383s
テスト実行にかかった秒数
723.1400 runs/s
1秒間に実行できるであろうテストメソッドの件数
723.1400 assertions/s
1秒間に実行できるであろう検証メソッドの件数
1 runs
実行したテストメソッドの件数
1 assertions
実行した検証メソッドの件数
1 failures
検証に失敗したテストメソッドの件数
0 errors
検証中にエラーが発生したテストメソッドの件数
0 skips
skipメソッドにより実行をスキップされたテストメソッドの件数
プログラム本体とテストコードを分離する
プログラム本体とテストコードは分離して別々のファイルとして管理すべき。
そのためにテストファイルから対象となるメソッドの定義を読み込めるようにしましょう。
require 対象のファイルのパス
気づき
テストを知らなかった。
これからテストを勉強がてら簡単なものからテストしようと思う。
出典