![http://blog.inouetakuya.info/entry/2013/10/27/200111](https://cdn-ak-scissors.b.st-hatena.com/image/square/c61e449345e255230737533a45d495aaa7f46ee3/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fi%2Finouetakuya%2F20131020%2F20131020130923.png)
2013年08月22日13:26 Ruby factory_girl で最低限知っておきたい4つの使い方 みなさん、テストを書くときには Fixture Replacement として何を使ってますか?一番メジャーなところだと factory_girl でしょうか。machinist も有名ですね。シンタックスの違いのようなので基本的にはどちらでも良さそうです。 参考(stackoverflow)Machinist vs FactoryGirl - pros and cons In other words, both are extremely similar, just with a different default syntax. 今回は(僕が factory_girl4.2.0 を使ってるので)factory_girl4.2.0 についての話です。 インストール まずインストールし
rails (3.1.1)、rspec-rails (2.7.0)、factory_girl_rails (1.3.0) という環境です。 config/application.rb の config.generators に設定を書くだけです。 module Hoge class Application < Rails::Application ... config.generators do |g| g.fixture_replacement :factory_girl, dir: 'spec/factories' end end end % r g model Company name:string invoke active_record create db/migrate/20111117101239_create_companies.rb create app/models/c
Fixture suck! と言われて久しいですね。こんにちは! onk です。 最近は Rails 3.0 でソーシャルアプリを作っています。で,BDD に RSpec 2.0 & FactoryGirl を使い出したので FactoryGirl についてご紹介。 define まず,FactoryGirl は ActiveRecord に依存しています。factory の定義は AR のモデル単位。 Factory.define :onk, :class => User do |user| user.name "onk" user.email "onk@drecom.co.jp" end たとえばこんな感じですね。 create / build 定義した factory を使うときは Factory.create(:onk) #=> #<User id: 1, name: "onk",
以前から試してみたかったfactory girl。 こないだ試した twitter-auth at master のテストで使われていたので、これを機にinstallしてみた。 (他にもfakewebやらremarkable_railsなど、いろいろ気になるのが使われてる。) 名前もなんかいいよね。girlって付くと。 thoughtbot's factory_girl at master - GitHub 参考 has_many throughでの例が非常に分かりやくて参考になります。 has_manyなフィクスチャを書くのに疲れたらFactory Girlがオススメ! - func09 バージョン readmeよく見たらいろいろバージョンがあるらしい。 現時点では下記のよう。 (あと、いろいろforkされててfactory_boyっつーのもあるらしい。気になる) factorygirl
めも FGはdefineの仮引数周りが無駄 (blueprintで改善) FGはinstanceをフラットに管理しすぎ FGのsequence(next)はイケてる FGはAR前提 Machinistは定義がイケてるが、名前がダサイ(make_unsaved) Machinistはメソッド名が衝突しそう(makeはアカン) Machinistはinstanceをクラス毎に分類できるが、Shamレベルまで落ちるとフラットになる片手落ち感 Daddyの使えなさは異常 FGの継承はどうやるの?(-> :parent) FG.blueprint は :parent を理解してくれない 試行錯誤 Factory.sequence :login do |i| "login#{i}" end Factory.define(:user) do |user| user.login {Factory.next
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く