2024年9月22日 / 最終更新日時 : 2024年10月27日 admin Ruby on Rails RuboCopにRSpecのルールを導入してみた RuboCopにRSpecのルールが提供されているので導入してみました。 RSpecのルールはデフォルトだと厳し過ぎるのと、あえて従いたくないルールもあるので設定変更しました。今まで書いていたものも、自分なりのルールで書 […] RSpecRuboCop
2023年8月6日 / 最終更新日時 : 2024年10月9日 admin Ruby on Rails 0時〜9時前までに実行するとバグる(テストが落ちる)原因と対策 今の現場で、以前から9時前にテストを走らせると落ちる問題があり、 不意に原因が分かったので対応しました。 理解が若干曖昧だったので、改めて再現させて、ベストプラクティスを考えてみました。 先ずは、現象を再現させる 前提: […] ActiveRecordConfigRSpec調査
2023年7月22日 / 最終更新日時 : 2023年7月23日 admin Ruby on Rails FactoryBot作成のベストプラクティス!? RSpecを結構書いてますが、テストを書く上で、FactoryBotが整備されていると楽ですよね。 ただ、最低限でも過剰でも、テストケースが漏れたりします。 また、無駄にINSERTされて、テストが遅くなったりする事もあ […] FactoryBotRSpec共通化
2023年2月22日 / 最終更新日時 : 2023年2月22日 admin Ruby on Rails FactoryBot:リレーション先でリレーション元と同じidで作成されるようにする なんのこっちゃ? タイトルを上手く書けなかったので、ER図で説明します。 下記のようにtask_cyclesにspace_idを入れなくてもtasksを経由すれば引けるのですが、DBのindexを効率的に利かせたいのと、 […] ActiveRecordFactoryBotRSpec
2023年1月13日 / 最終更新日時 : 2023年1月13日 admin Ruby on Rails RSpec: viewやcontrollerでflashメッセージを受け取るテストを書く リダイレクト時にflashメッセージを渡して、リダイレクト先でflashメッセージが表示する事はよくあると思います。 前者(正しいflashメッセージを渡したか?)と、後者(受け取ったflashメッセージを正しく処理でき […] RSpecstub
2022年8月17日 / 最終更新日時 : 2022年8月18日 admin Ruby on Rails let_it_beとbefore_allでRSpecの実行時間を短くする まだそこまで遅くはないですが、将来の為にRSpecの実行時間を短くしておきます。 結果、99.93秒だったのが55.72秒となり、44%短縮されました。(想像以上) RSpecをリファクタリングして可読性と速度を上げる […] FactoryBotRSpecリファクタリング
2021年12月12日 / 最終更新日時 : 2021年12月12日 admin Ruby on Rails Deviseのview specを作成してみた resource, devise_mapping, resource_name, resource_classがないとエラーが出る。 request spec(Controllerからviewが呼ばれている)だと問題ない […] DeviseRSpec
2021年12月11日 / 最終更新日時 : 2021年12月12日 admin Ruby on Rails JSONのAPIリクエストで、URLの拡張子が.json以外はエラーにする ログやアクセス制御でAPIかHTMLリクエストかを簡単に区別できるようにする為。 また、ブラウザで.jsonのURLにアクセスしたらエラーにしたい。簡単に見れないようにしたい。 APIDevise Token AuthRSpec
2021年11月13日 / 最終更新日時 : 2021年11月13日 admin Ruby on Rails Devise Token Authのメアド変更の確認メールとアカウントロックメール記載のURLがフロントURLにならない NuxtとRailsアプリ(Devise Token Auth)の結合テストをする をしてみて気付きましたが、「メールアドレス変更時に送信されるメールの確認URL」と「アカウントロック時に送信されるメールの解除URL」が […] APIDevise Token AuthRSpec認証
2021年11月7日 / 最終更新日時 : 2021年11月10日 admin Ruby on Rails NuxtとRailsアプリ(Devise Token Auth)の結合テストをする それぞれのアプリでは問題なく動作しても、いざ繋げると細かい所で意図通りに進まない事は良くあります。特にフロントとバックエンドを分けると、問題となるケースは増えそう。 単体テストはユニットテストで担保するとして、結合テスト […] APIDevise Token AuthNuxt.jsRSpecseedテスト