問題タブ [factory-bot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - factory_girl + rspec は、各例の後に変更をロールバックしていないようです
ここで説明されている問題と同様: http://rpheath.com/posts/411-how-to-use-factory-girl-with-rspec
要するに(短縮コード):
spec_helper:
factory.rb:
私のスペックでは
エラー:
エントリー名「NY」などの重複
質問: rspec は各仕様の例の前にデータベースをクリアして、重複エントリ エラーをスローしないようにすべきではありませんか?
ruby-on-rails - factory_girl シーケンスをリセットするにはどうすればよいですか?
プロジェクト ファクトリがある場合
そして、私はプロジェクトのインスタンスを作成しています
この時点で、次に Factory.build(:project) を実行すると、タイトルが「プロジェクト 3 タイトル」などに設定された Project のインスタンスを受け取ります。驚かない。
ここで、このスコープ内でカウンターをリセットしたいとします。何かのようなもの:
これを達成するための最良の方法は何ですか?
現在、次のバージョンを使用しています。
factory_girl (1.3.1) factory_girl_rails (1.0)
ruby-on-rails - factory_girlで多対多の関連付けを構築/作成するにはどうすればよいですか?
Person
モデルと多対多の関係にあるモデルEmail
があり、その人の姓名を生成できるファクトリを作成し(これはすでに実行されています)、それに基づいた電子メールアドレスを作成したいと思います。その人の名前の。これが私がperson
'の名前を作成するために持っているものです:
ruby-on-rails - Railsユニットテストのヘルパー関数
ユニットテストのコードでこの種のコードを使用しています。
フィクスチャの代わりにFactoryGirlを使用しています。
何度も繰り返しているので、ヘルパー関数があると非常に便利です。単体テストでヘルパー関数を作成して呼び出すための最良の方法は何ですか?コントローラーのように利用できるものはありbefore_filter
ますか(入れてみましたが、未定義の方法です)。どんな助けでも大歓迎です!
ruby-on-rails - factory_girl定義でランダムな関連付けオブジェクトを指定する
factory_girl
アソシエーションが指す必要のあるランダムインスタンスを指定する方法はありますか?たとえば、私は1つと1つのオブジェクトを持っていLike
ます。新しいものを生成するだけでなく、ファクトリに既存のランダムと好きなランダムを選択してもらいたいです。以下のスニペットの種類の作品:belongs_to
User
SocialUnit
Like
User
SocialUnit
確かにランダムなユーザーを選択しますが、これを実行すると、ランダムなユーザーは1回だけ選択されるようです。
同じユーザーでたくさんのいいねを作成します。それは理にかなっていると思います...ファクトリは一度定義されてから、何度も再利用されます。
シーケンスを使用してランダム性を強制することができます。工場定義内でそれを定義する方法はありますか、それともシーケンスはそれを行うための最良の方法ですか?
ありがとう。
ruby-on-rails - Rails 単体テストに関するいくつかの質問 (Shoulda + Factory girl を使用)
スタブ化する複雑なオブジェクトがいくつかあります (使用する宝石のインスタンス)。これらのスタブを一元化して、すべてのテストで使用できるようにするにはどうすればよいですか?
rake:test を使用せずにテスト間で DB をプログラムでクリアするにはどうすればよいですか? textmate を使用して個々のテストをすばやく実行したいのですが、テスト間で DB がクリアされないため、エラーが発生します。
Rails インスタンスをスピンアップする必要があるため、テストの実行が遅くなります。テストをスピードアップするには?特にテストを書いていて、変更をすばやく実行したい場合
ruby-on-rails - Factory Girlは、テストの合間にクリアされないオブジェクトを作成しましたか?
少し混乱してテストの実装を延期しています。User.createを使用すると、複数のテストを作成して保存できます。
ただし、Factory.createを使用すると、ActiveRecordの重複エントリエラーがスローされます。
エラー:「ActiveRecord :: StatementInvalid:Mysql :: Error:Duplicateentry」
何が得られますか?
ruby-on-rails - factory_girl がトランザクション的に動作しないのはなぜですか? - テスト後に行がデータベースに残る
factory_girl を使用して「ユーザー」ファクトリ (RSpec を使用) を作成しようとしていますが、トランザクション的に動作していないようで、テスト データベース内の以前のテストからの残りのデータのために明らかに失敗しています。
テストの最初のセットを実行しても問題ありません。
すべて問題なく、期待どおりですが、テストを再度実行します。
修正試行 - Factory.sequence を使用
メール フィールドに一意性制約があるため、factory_girl のシーケンス メソッドを使用して問題を解決しようとしました。
それから走った
ユーザーはデータベースに残っているようです
/db/test.sqlite3 データベースを見ると、テスト ユーザーの行がテスト間でデータベースからロールバックされていないようです。これらのテストはトランザクショナルなものだと思っていましたが、私にはそうではないようです。
これは、テストが最初に正しく実行される理由 (およびデータベースをクリアした場合) を説明しますが、2 回目は失敗します。
テストが確実にトランザクションで実行されるようにするために何を変更する必要があるかを誰か説明できますか?
factory-bot - このファクトリー ガールの定義の何が問題になっているのか
Factory.create(:colonia)
常に id が 0 の Colonia オブジェクトを作成するため、テストは惨めに失敗します!!! @_@
このファクトリが ID 0 のオブジェクトを作成するのはなぜですか?
ruby-on-rails - Rails 3 および Factory Girl は、属性が渡された場合にのみユーザーを作成します
Rails 3 rc、Factory Girl、Rspec、Authlogic を使用しています。これが起こる理由や理由はありますか?
次のようなユーザーを作成すると:
パスワードの確認が「短すぎる」という問題が発生します。
私の factory.rb は
しかし、:password と :password_confirmation を手動で渡すときに作成すると、問題なく動作します。
誰がこれを引き起こしているのか考えていますか?