Skip to content

Instantly share code, notes, and snippets.

@kenchan
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenchan/665d58958a2490dcebcf to your computer and use it in GitHub Desktop.
Save kenchan/665d58958a2490dcebcf to your computer and use it in GitHub Desktop.
RubyKaigi 2014 CFLT

RubyKaigi 2014 CFLT

Title

Practical factory_girl

Descrption

factory_girlを代表とするFixture Replacementライブラリによって、柔軟なテストデータの準備が容易にできるようになりました。

しかしながら、Fixture Replacementの使い方を知るだけでは、変化し続けるプロダクトに合わせてテストデータをメンテナンス可能な形で更新し続けるのは困難です。

本発表では、factory_girlの機能紹介だけなく、テストデータとテストコードを継続的にメンテナンスし続けるための考え方と、実践的なTipsを紹介します。

あなたのアプリケーションのテストデータとテストコードの両方を書きやすく、そして読みやすくするために、明日からできることを持って帰ってください。

Notes

以下の様なトピックについて、実際のコードを提示しながら、メンテナンスしやすいfactoryとテストコードの書き方について紹介します。

  • factoryとtraitの使い分け
  • 複数のモデルをまとめて作るfactoryのメンテナンス
  • トランザクションデータの作り方
  • etc

Bio

Ruby Programmer. I am one of the maintainers of tapp gem.

Company / Job Title

Senior Engineer at GMO Pepabo, Inc.

@kentaro
Copy link

kentaro commented Aug 20, 2014

このLTの背景には、どういう問題がありますか?factory_girlを使うとテストコードやデータが読みにくくなるという前提があって、そのことが課題ということですかね。

@kenchan
Copy link
Author

kenchan commented Aug 21, 2014

@kentaro

なるほどなるほど。整理してみました。

factory_girl (Fixture Replacement) によってテストデータの準備は容易になりましたが、ソフトウェアの変化に対応しやすいテストデータの作り方にはちょっとしたコツや、抑えておくべき考え方があると考えています。

「こういうテストデータの作り方だと作るときはいいけど後々困った」とか「こういう考え方でテストデータとテストコードを書くと後々でもメンテンナスしやすかった」という体験がベースになっています。

また、少なくとも日本語圏では factory_girl の機能の紹介以上のものがあまりないというのも、私の感じる課題の背景にあるのではないかと思い、一度整理しようと考えました。

@kenchan
Copy link
Author

kenchan commented Aug 21, 2014

(書き直し中)

@kenchan
Copy link
Author

kenchan commented Aug 21, 2014

書きなおしてみました

@kenchan
Copy link
Author

kenchan commented Aug 22, 2014

だしました

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment