RSpecカスタムマッチャでデータベースの外部キー制約をテストする
Railsでモデルを作る時に外部キー制約テストも簡単に書きたかったのでカスタムマッチャを作りました。
連載: Rails4のActiveRecord向けRSpecカスタムマッチャ5選
前々回のNOT NULL制約カスタムマッチャの記事と前回のUNIQUE制約カスタムマッチャの記事でDBの制約テストを簡単にしてきましたが、DB制約のRSpecカスタムマッチャも作りました。
例えば
と書くと
$ bundle exec rspec spec/models/person_spec.rb
Person
should have FOREIGN KEY constraint on school_id
とテストできるようになります。
カスタムマッチャは
となります。
以上、NOT NULL制約カスタムマッチャ, UNIQUE制約カスタムマッチャと一緒に使えるDB制約カスタムマッチャでした。