【パーフェクト Ruby on Rails】を読む - その11
第3章押さえておきたいRailsの基本機能
テストの種類と実行方法
ソフトウェアの開発において、テストを行うことで品質を一定の水準に保つことは必要不可欠です。プログラムのテストを記述する事でトータルコストを少なくするため、Rails標準のテストフレームワークのminitestを学びます。
bin/rails test
でテストを実行することができます。
ディレクトリ | 概要 |
---|---|
application_system_test_case.rb | システムの基底クラス |
channels | Action Cableに対するテストディレクトリ |
controllers | コントローラーに対する機能テストディレクトリ |
fixtures | テストデータ(fixture)を管理するディレクトリ |
helpers | ヘルパークラスに対するテストディレクトリ |
integration | 複数のコントローラー間でのテストに関するテストディレクトリ |
jobs | Active Jobに対するテストディレクトリ |
mailers | Action Mailer に対するテストディレクトリ |
models | モデルに対するテストディレクトリ |
system | システムテストディレクトリ |
test_helper.rb | ユニットテストで読み込むテスト用ヘルパークラス |
Active Jobというワードが初めて聞いたので少し掘り下げる(ざっくりと) - Actiive Jobという非同期通信用のフレームワークがある - sidekiq(gem)です。 - Redisはオープンソースの永続化可能なインメモリデータベース(In-memory database)で、BSDライセンスで公開されています。 特徴はインメモリ型データ構造ストアであること、そしてデータの永続化ができることといえるでしょう。 メモリ上で動作するキーバリューストア型のデータベースです。
- スタックとキュー(例)
- スタック…最後に積み上げた本を最初に取り出す
- キュー…最初に並んだ人を先にサービスする
- 大量のジョブはRailsとSidekiqを使うとよし DelayedJob(gem)とResque(gem)というのもある
ひとこと
今日は現時点で使った事がなかったActive Jobについての議論が中心でした。 🤦♀️