体調崩していて参加レポートちょっと遅れましたが、この間の水曜日にShibuya.rbの拡大版に参加してきたのでレポートします。 普段は第三水曜の19:30〜21:30なのですが、この日は祭日ということで14:00〜18:00の拡大版でした。
参加人数も普段より多く、いくつかのグループに分かれて各自興味のあることについて話すという感じでした。
私は今回、以下の点に興味があったので、これらに参加してきました。
- テストコード
- vagrant
テストコード
どう書くのか
RSpec書いてみたいけど、どう書けばいいかわからない、というところから始まったので、私は自分が覚えた時に使った以下の2つのサイトを教えたらどうやらニーズにマッチしたようでした。
RSpecの周辺ツール
趣味&独学でやってたときは、
- テストデータ生成:factory_girl
- 自動テスト実行:spork+guard
でやっていたのだけど、会社で今やってるプロジェクトはmashinistとZenTest使っているので、実際に回りどういうの使ってるのか気になってたのでこの話振ってみました。
テストデータ自動生成
factory_girlかfabricationが人気らしい。machinistはちょいマニアックとのこと。 でもfactory_girlはcapybara-webkitと組み合わせるとうまくデータが作れない、みたいな話がありました。(未検証)
headless
phantom.js + poltergeist でのテストやってる人がいたけど結局capybara-webkitとかと同じで別に楽ではないよ、って話がきけました。
自動テスト実行
ZenTestはどうもオワコンらしい (´・ω・`) あと、そもそも保存したらテスト実行よりも行番号指定で実行できたほうが良くない、みたいなこと言ってる人が何人も居たので今のはやりはそれなのかも。あと、保存したら自動テスト実行は開発者のスタイルによるので、入れたい人だけ入れればいいんじゃない、という話も。
turnip
@IR3 さんに教えてもらったgem。
RSpecにcucumberのシナリオを書けるものらしい(?)
=> もうちょっと調べてみて問題無さげなら実際に会社のプロジェクトでも使ってみようと思います。
vagrant
gemでインストールしてコマンドラインでVirtualBoxのインスタンスを操作できるというもの。chefと組み合わせて使うこともでき、いろいろできそうな気がします。
自分が思いついたところだと、開発者の開発環境を作ったりとか(VMを直接共有するより構成管理しやすい)、テストの時だけVM作って終わったら壊す、とか?CI向け。 あとはインフラエンジニアがchefのテストに使うのいいんじゃないか、という話も聞けました。
LT
今回私はLTしてませんが、良い話いろいろ聞けました。テストしづらいコードの話とか、TDDの工夫(特に外部サービス使う時の話)、RSpec metadata、の話なんかはすぐに役立ちそうなところが多くてよかったです。