タグ

factorygirlに関するchanpon0のブックマーク (6)

  • FactoryGirlのtransientとtraitを活用する - Qiita

    FactoryGirlでテストデータを定義する時に、transientとtraitを活用すると色々捗るという話。 transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能。 そこで定義されたものは実際のmodelにはセットされないしattributes_forでも出力されません。 何のために使うかというと作成時に挙動を変更するためのフラグや追加データとして利用するのが一般的です。 traitは属性の定義を一纏めにして名前を付けられる機能です。 parentを指定したfactoryの継承とは違い、traitは単体ではfactoryとして機能しません。 あるfactoryの特定の状態に名前を付けて、付け外しできるようにする、というのが主な使い方になります。 例えば、あるfactoryをある時はadminある時は非adminで作りたい時等に有効です。 個人的に

    FactoryGirlのtransientとtraitを活用する - Qiita
    chanpon0
    chanpon0 2017/01/12
    変数を指定し、afterで使いまわせる。
  • FactoryGirl でバリデーションもコールバックも無効にしたい - Qiita

    諸事情により FactoryGirl でバリデーションもコールバックも無効にしたいことがあったので。 バリデーションしない ActiveRecord の #save に validate: false を渡すとバリデーションしない。なので、FactoryGirl で create する時に save! ではなく save(validate: false) を呼び出すようにすれば OK。 FactoryGirl でインスタンスを保存する方法を上書きしたい場合は to_create を定義すれば良い。詳しくはこちら。 FactoryGirl.define do # ここに書いたら全 factory の to_create が上書きされる。 # to_create { |instance| instance.save(validate: false) } factory :person do t

    FactoryGirl でバリデーションもコールバックも無効にしたい - Qiita
  • Factory Girl Railsのチートシート - Rails Webook

    Railsのテストで複数のオブジェクトの作成を簡易に行えるFactoryGirl。 FactoryGirlについて基的なことを知っていることを前提に、RailsでFactoryGirlを使うよく使う機能やTipsをまとめました。 動作確認 Rails 4.1.7 Factory Girl 4.4.0 Factory Girl Rails 4.4.1 目次 1. Factory Girlのインストール 2. FactoryGirlシンタックスの省略 3. FactoryGirlの使い方あれこれ 3.1. オブジェクトのビルド、作成、スタブ作成、属性取得 3.2. 特定の値を指定してオブジェクトを作成 3.3. ブロックを渡すことで細かな処理を記載可能 3.4. 一度に複数のレコードを作成する 4. Factory定義のあれこれ 4.1. 他の属性に依存する属性を定義する 4.2. fact

    Factory Girl Railsのチートシート - Rails Webook
    chanpon0
    chanpon0 2016/11/02
    has_many
  • FactoryGirlでhas_many(またはbelongs_to)な入れ子構造データを定義する - tumblr

    あるマスターデータをDBに入れたいが、テスト時にもそのマスターデータは使いたいので、db/seed.rbを使わずFactoryGirlでデータを突っ込んでいる。その方法が果たして現時点でのベストプラクティスなのかはわからないが。 (その方法自体はこちらの記事参照:http://naoty.hatenablog.com/entry/20111030/1319973849) 何にしてもマスターデータを入れる場合、そのデータは複数のテーブルにまたがっててhas_manyな関係だったりするかもしれない。 そういうデータをFactoryGirlで扱う時のメモ。 こういう構造のマスターデータを入れたいとする。 class Author < ActiveRecord::Base has_many :books end class Book < ActiveRecord::Base belongs_to

    FactoryGirlでhas_many(またはbelongs_to)な入れ子構造データを定義する - tumblr
    chanpon0
    chanpon0 2016/11/01
    簡単なアソシエーション 。わかりやすい。
  • FactoryBot (旧FactoryGirl) の sequence と .next - Qiita

    と書ける。ブロックを渡さずに第二引数を渡すと、 .next が呼ばれるようになっているのだ。 そして、(これは ruby 自体の機能だが) String#next には以下のように末尾の数値を増やす機能があるのだ。

    FactoryBot (旧FactoryGirl) の sequence と .next - Qiita
  • FactoryGirlのアソシエーションの使い方を確認する - woshidan's blog

    テスト駆動開発についていまさらでもなんでも読んでいる方がいたので、 自分もFactoryGirlについていまさらでもなんでも確認する。 とにかく少しでも簡潔に速くテストが書けるようになればいいんだよ。 なお、動作確認用のテストはrspecではなくてminitestです。 参考にしたのはこちら。 factory_girl で最低限知っておきたい4つの使い方 - (゚∀゚)o彡 sasata299's blog FactoryGirl で多対多のアソシエーションのつくり方 - 彼女からは、おいちゃんと呼ばれています FactoryGirlでアソシエーションの設定をする 1対多 1対1 多対多 の場合があるけれど、1対多と多対多の場合について書く。 1対1は1対多と変わらないので……。 1対多の場合 associationの書き方は、factory名とclass名が一致するかどうかで異なる。 f

    FactoryGirlのアソシエーションの使い方を確認する - woshidan's blog
  • 1