わかったこと
・テストファイル名、クラス名、メソッド名に適した名前の付け方がある、テストフレームワークのメソッドがあり、それを使って期待する結果、期待する結果に対する処理を書いてそれが通るかテストする
- 実行ファイルとテストファイルは基本分ける、テストファイルからはrequre_relativeで実行ファイルを読み込む必要がある hoge_hoge.rb(実行ファイル)、hoge_hoge_test.rb(テストファイル)
- hoge_hoge_test.rbのクラス名にHogeHogeTest < MiniTest::Test(継承)、requireで以下のように読み込む
require 'minitest/autorun'
require_relative '../hoge_hoge' # .rb省略可
- メソッド名はtest_hoge_hoge
以上の命名が好ましい
・エラー(errors)は検証自体ができなかったこと、失敗(failures)はテストすることはできたけど自分が書いた望む結果にならなかったことを表す
・期待の動作は一言一句合わないとテスト失敗する
class FizzBuzzTest < Minitest::Test def test_fizz_buzz assert_equal 'FizzBuZZ', fizz_buzz(15) # 'fizzbuzz'と書くのが正しい end end ❯ ruby fizz_buzz.rb Run options: --seed 43955 # Running: F Finished in 0.000627s, 1594.8966 runs/s, 12759.1730 assertions/s. 1) Failure: FizzBuzzTest#test_fizz_buzz [fizz_buzz.rb:42]: Expected: "FizzBuZZ" Actual: "FizzBuzz" 1 runs, 8 assertions, 1 failures, 0 errors, 0 skips
感想
テストの全体的な雰囲気を掴むことができました
テストファイル作ってコード書き始めたいと思いました
Link
https://www.wakuwakubank.com/posts/861-git-markdown/ https://verse-type.co.jp/column/hp_absolutepath-relativepath/
参考、引用: 著者 伊藤淳一 さん「プロを目指す人のためのRuby入門<改訂2版>」 出版社 技術評論社 (2021/11/29) 3章P86~P98