テスト

truthy の意味を考えた

truthyという単語は英和辞書には載っていない。ネットで英英辞書もいくつか見てみたが載っていなかった。 trueっぽい、というような意味だと思ってはいたが、きちんと調べたことがなかったので調べてみた。 この言葉を知ったきっかけは、Minitest の refute …

Rails システムテストを書く(RSpec 不使用)

システムテストでは、ユーザーのブラウザ操作をテストする。Rails プロジェクトでは Capybara(カピバラ )という Gem によって、ブラウザ(ヘッドレスブラウザ指定可)で実行される。 Rails では RSpec というテスティングフレームワークが使われることが多…

Rails テストファイルの作成・実行

Rails では、rails generateコマンドでモデルなどを作成すると、テストのスケルトン(ひな形)も自動で作成される。 テストだけを作成する場合は、以下のコマンド。 テストのスケルトンを作成 # モデルテストを作成(userモデルの例) $ bin/rails g test_un…

Ruby 「true」と「真」、「false」と「偽」の違いを考える

これまで「true」と「真」、「false」と「偽」を特に区別せずに使うことが多かったが、たまにモヤモヤすることがあった。テストを書き始めてそこら辺が気になってきたので、この機会にはっきりさせてみることにした。 結論から言うとこういうこと(注:Ruby …

test-unit、Minitest、Rails の refute / assert_not エラーメッセージを比較

masuyama13.hatenablog.com 昨日上の記事を書いたが、今度は test-unit の refute のコードとエラーメッセージはどうなっているんだろうと気になって調べてみた。 test-unit で失敗するテストを書く blog.rb class Blog end blog_unit_test.rb require "test…

Rails refute と assert_not を使ってみる

前回、refuteとassert_notはエラーメッセージが違うことがわかった。 masuyama13.hatenablog.com assert_not_equalなどは Minitest のrefute_notなどのエイリアス(別名)なので、assert_not_equalを呼び出すとrefute_notが実行される。つまり動作としては全…

Rails assert_not が定義された経緯を調査

この記事の続き。 masuyama13.hatenablog.com 前回の疑問 assert_not_equalなどはエイリアスとして設定されてるっぽい。なんでassert_notはエイリアスじゃだめなんだろう。 コードを見比べる Minitest の refute def refute test, msg = nil msg ||= message…

Machida.rb #04 に参加(FizzBuzz コードレビュー)

8月7日にオンライン開催された Machida.rb #04 に参加した。Machida.rb は先月に続き2回目の参加。参加者は約10人、ツールは ZOOM と esa。今回はコードレビュー会。 自分はコードレビューしてもらう枠で申し込んでいなかったのだが、運よくコードレビュー枠…

Ruby refute と assert_not の違いを調査

Rails のテストと Minitest を学習していて、refute と assert_not は同じものなのか違うものなのか気になったので調べてみた。 アサーション アサーション(assertion)とは、オブジェクトや式を評価して、期待された結果が得られるかどうかをチェックする…

Ruby test-unit でテストを書いてみる(FizzBuzz)

FizzBuzz 問題を題材に TDD(テスト駆動開発)を学んだので、実際に動画の流れに沿って、Ruby でテストを書いてみた。 (動画はこちら:TDD Boot Camp 2020 Online #1 基調講演/ライブコーディング - YouTube) Ruby 標準のテスティングフレームワークである…