pry> article = FactoryGirl.build(:article) id: nil, title: 'タイトル', body: '本文', user_id: 1 pry> User.last id: 1, name: '太郎' email: 'taro@example.com' pry> article.user id: 1, name: '太郎' email: 'taro@example.com' pry> article.user == User.last => true
![FactoryGirlのbuildとbuild_stubbedって何が違うの? - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3ff1b98f1685865feaa5643da90dc0a6ee591183/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9RmFjdG9yeUdpcmwlRTMlODElQUVidWlsZCVFMyU4MSVBOGJ1aWxkX3N0dWJiZWQlRTMlODElQTMlRTMlODElQTYlRTQlQkQlOTUlRTMlODElOEMlRTklODElOTUlRTMlODElODYlRTMlODElQUUlRUYlQkMlOUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTBlZmM3ZTFlZDdkODA3ZDM1YTc5YzkyZDZmNzFmOTY3%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBpa2VhZCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OTE3Mzk2MGIzN2U4ZWIxMzQzOWE2ODFkOGQwNGUxZTE%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-Q2lyS2l0%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Defa9d91699724e12a4b4b73379afe94b)
技術書典は書く側で参加したい気持ちはあるけど、書くネタと書く時間があるかどうか…— 神速@リリカルエンジニア (@sinsoku_listy) 2017年4月9日 あー、自分の知ってるRailsアンチパターンとか書きたいかも。自分の犯した罪(アンチパターン)を贖罪したい…。— 神速@リリカルエンジニア (@sinsoku_listy) 2017年4月9日 技術書典2 に行ったら無性に本を書きたくなったけど、本書くのは 面倒 大変です。 というわけで、とりあえずブログに記事を1つ書いてみた。 factory_girl factory_girl はテスト用データを作成するときに使う gem です。 下記は User のモデルを定義するファクトリーです。 FactoryGirl.define do factory :user do first_name "John" last_name "Doe
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
FactoryGirlでテストデータを定義する時に、transientとtraitを活用すると色々捗るという話。 transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能。 そこで定義されたものは実際のmodelにはセットされないしattributes_forでも出力されません。 何のために使うかというと作成時に挙動を変更するためのフラグや追加データとして利用するのが一般的です。 traitは属性の定義を一纏めにして名前を付けられる機能です。 parentを指定したfactoryの継承とは違い、traitは単体ではfactoryとして機能しません。 あるfactoryの特定の状態に名前を付けて、付け外しできるようにする、というのが主な使い方になります。 例えば、あるfactoryをある時はadminある時は非adminで作りたい時等に有効です。 個人的に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く