[解決済み] 私のモデル検証をバイパスしたファクトリーガールの作成
2023-05-22 21:25:40
質問
私は、グループのモデル/ユニットテストで2つのインスタンスを作成するためにファクトリーガールを使用しています。私は、.currentへの呼び出しが、以下のようにexpiry属性に従って「現在の」グループのみを返すことを確認するためにモデルをテストしています...
describe ".current" do
let!(:current_group) { FactoryGirl.create(:group, :expiry => Time.now + 1.week) }
let!(:expired_group) { FactoryGirl.create(:group, :expiry => Time.now - 3.days) }
specify { Group.current.should == [current_group] }
end
私の問題は、新しいグループの有効期限が今日の日付より後であることをチェックするバリデーションをモデルで行っていることです。これは、以下のような検証の失敗を発生させます。
1) Group.current
Failure/Error: let!(:expired_group) { FactoryGirl.create(:group, :expiry => Time.now - 3.days) }
ActiveRecord::RecordInvalid:
Validation failed: Expiry is before todays date
ファクトリーガールを使って作成する際に、強制的にグループを作成する方法、またはバリデーションを回避する方法はありますか?
解決方法を教えてください。
これはFactoryGirlに限ったことではありませんが、モデルを保存する際、常にバリデーションを回避するために
save(validate: false)
:
describe ".current" do
let!(:current_group) { FactoryGirl.create(:group) }
let!(:old_group) do
g = FactoryGirl.build(:group, expiry: Time.now - 3.days)
g.save(validate: false)
g
end
specify { Group.current.should == [current_group] }
end
関連
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] RailsのRootディレクトリのパス?
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] railsアプリケーションでCookieのオーバーフロー?
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Devise Admin Roleの追加【終了しました
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] ファクトリーガールとRspecのコールバックのスキップ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] RSpecとCucumberの違いは何ですか?[クローズド]
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。