Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

Copy link

commented Aug 20, 2014

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

@kenchan

This comment has been minimized.

Copy link
Owner Author

commented Aug 21, 2014

@kentaro

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

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

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

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

@kenchan

This comment has been minimized.

Copy link
Owner Author

commented Aug 21, 2014

(書き直し中)

@kenchan

This comment has been minimized.

Copy link
Owner Author

commented Aug 21, 2014

書きなおしてみました

@kenchan

This comment has been minimized.

Copy link
Owner Author

commented Aug 22, 2014

だしました

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.