2021年3月11日 / 最終更新日 : 2021年3月11日 admin Ruby on Rails テスト駆動でちょっとハマった話 みんなテストを書く時、どう進めてますか? 私は完全にテストファーストで作れる程、聡明になれない(ベストなのを探って試行錯誤が入る)ので、先ずは正常系を実装して、正常系のテストを書いて通す。その後、検証パターンを網羅するよ […] FactoryBotMySQLRSpec
2020年8月10日 / 最終更新日 : 2020年8月14日 admin Ruby on Rails バッチ処理(task)作成とテスト(RSpec)実装 バッチ処理とRSpec実装を行いました。 RSpecのtypeに、taskは用意されていないようで、少し手間取ったのでメモしておきます。 あと、引数を渡した場合、true/falseでも文字列型になるので、工夫が必要だっ […] FactoryBotRakeRSpecトランザクションバッチメール
2020年8月9日 / 最終更新日 : 2020年8月17日 admin Ruby on Rails メール送信実装とfromに名前入れたりマルチパートメールにしたり 久々にメール送信の実装を行ったので、メモしておきます。 難しくはないけど、fromに名前入れたり、マルチパートメールにしたりも合わせて対応。 メールのSpecに初挑戦。ActionMailer Previewなるものもあ […] RSpecセキュリティメール定数管理
2020年8月2日 / 最終更新日 : 2020年8月2日 admin Ruby on Rails RSpecで現在日時がセットされたかのテスト アカウント削除を即時ではなく予約に変更する際に、削除予約日時と削除予定日時のカラムを追加して、現在日時と現在日時+7日が入るかのテスト書きました。 Time.currentで、日時を設定するタイミングが異なるので、普通に […] ConfigdeviseRSpec
2020年7月30日 / 最終更新日 : 2020年7月29日 admin Ruby on Rails Deviseのパスワード再設定ページ表示時にtokenチェックを追加 パスワードリマインダー(忘れ)機能で、メールのURLのtokenの期限切れや不正な(存在しない)場合に、パスワード再設定ページが表示され、いざ変更しようとすると、token不正と怒られるのが不親切なので、メールのURLを […] deviseRSpec
2020年7月29日 / 最終更新日 : 2020年7月29日 admin Ruby on Rails DeviseのControllerにページを追加 デフォルトだとアカウント削除ボタンは登録情報変更ページにありますが、目的が違う機能が同じ画面にあるのは危ない(間違う可能性がある)ので、確認画面を作成しました。 (この後、即時削除ではなく、削除予約を実装する布石でもあり […] deviseRSpec
2020年6月6日 / 最終更新日 : 2020年7月16日 admin Ruby on Rails テスト駆動開発始めました 冷やし中華始めました風ですが。。。 Azure DevOpsでチケット駆動にはしていますが、テストは実装後に書いてました。 テスト駆動はその名の通り、テストを先に書いて、テストが通るように実装して行く流れです。 RSpecテスト駆動
2020年6月5日 / 最終更新日 : 2020年6月6日 admin Ruby on Rails rails-controller-testingを使わずにRSpecを書く Rails5からrequest spec推奨になってたのと同時に?、assignsやassert_templateが非推奨になっています。 rails-controller-testingを使う事で、使えてしまうのですが […] FactoryBotRSpecリファクタリング
2020年6月3日 / 最終更新日 : 2020年6月6日 admin Ruby on Rails kaminari導入と日本語・JSON対応 Railsでページネートと言えばkaminariで、インストールも簡単ですが、JSONに件数とか入るようになってなかったので、もっとも簡単な方法を試行錯誤したので、メモしておきます。 結論は、viewsのindex.js […] ConfigJSONkaminariRSpec定数管理日本語化
2020年5月28日 / 最終更新日 : 2020年6月5日 admin Ruby on Rails RSpecの前提条件と検証内容の共通化 同じような前提条件と検証内容で冗長になって来たので、リファクタリングとして共通化しました。 contextに記載した内容を実現する実装部分(前提条件)は、include_contextで呼び出して、shared_cont […] FactoryBotRSpecリファクタリング可読性