カクカクしかじか

技術的なアレコレ

RSpec

ActiveSupport::Testing::TimeHelpersのfreeze_time知らなかった...

元記事 techracho.bpsinc.jp 所感 今までは同じく ActiveSupport::Testing::TimeHelpers の travel_to などを使用していました😇 もっと早く知りたかった... 使っていこう💪 before { freeze_time }

Railsで作られるファイルのデフォルトコメントを何も考えずに削除する習慣はやめとけ!

今回の結論 Railsのgemに用意されたコマンドからジェネレートされるファイルのデフォルトで書かれている英文のコメントは何も考えずに削除しない方が幸せになれますよ!という話です。 もっと詳しく 例えば、RSpecの初期ファイルにはRSpecの仕様に関する重要…

RSpecのshared_contextで共通処理を1ヶ所にまとめる

はじめに RSpecにはテストで毎回同じ処理を書かなくても良いように処理を共通化する shared_context という仕組みがあります。 自分は直近まで知らなかったので、個人的なメモとして投稿します。 注記 サンプルコードは適当に用意したコードなので実在のコー…

RSpecの実行オプションまとめ

経緯 RSpecにはコマンド実行時に付けることが出来る便利なオプションがあり、復習がてらいくつかをまとめようと思った次第です。 -f documentationオプション -f documentation をつけることでコンソールへの出力形式がテストファイルの context と it など…

RSpec : 時刻のテストではtravel_toしたら必ずtravel_backしてね

追記:2019.09.23 こちらの記事で記載があるようにRails 5.2系からtravel_backを明示的に書かなくてもよくなった模様... shinkufencer.hateblo.jp y-yagi.hatenablog.com 経緯:自分が出したプルリクだけ関係ないRSpecで落ちる ここ数日、自分が修正したプル…

よちよち.rb 第143回 〜 jnchito さんと!Ruby・Rails での『困った』を解消しよう会〜 に参加した

よちよち.rb with 伊藤淳一さんに参加 掲題のイベントに参加して来ました。 yochiyochirb.doorkeeper.jp 内容としては、事前に集められた質問を元に伊藤淳一さんが一問一答していくといった感じでした。話す内容によってオフレコのものもありましたので、こ…

RSpecの実行結果をドキュメント形式で

RSpecの実行結果を分かり易く表示したい CI上でランダムに失敗するRSpecをローカルで調査する際はどのテストがどの順番で実行されてエラーになるのか調査する必要があります。そういった場合にRSpecの実行コマンドにオプションをつけることでコンソールから…

CircleCIでランダムに落ちるテストを調査する方法:seed番号を指定してRspecを動かす

CircleCIでよく分からないところでテストが落ちる ローカルでは落ちないテストがCIだと落ちる... そんな時、原因はパッと思いつく限りでもいくつかあるだろうと思います。 原因と思われるもの 実行順序に依存しているテストがある 時刻系の処理で書き方の不…