ATND アテンド β PRODUCED BY RECRUIT

イベント開催支援ツール:ATND(アテンド)

ログイン or 新規登録

オンライン決済サービスを使ったチケット販売ができる「eventATND(イベントアテンド)」 がオープン!
▶ チケット販売はこちらから

帰ってきた日本cucumberの会 (忘年会)

cucumberに欲しい機能を語り、食べて、そして実装する

日時 :
2009/11/29 13:00 to 18:00
定員 :
10 人
会場 :
ルノアール貸会議室 (山の手内(調整中))
URL :
-
管理者 :
舞波 舞波
ハッシュタグ :
-
住所が入力されていません

日程が変更されました

cucumber を愛する人達による忘年会です

features

Given


  • cucumberが好き

  • FactoryGirlが好き

  • mockが好き

  • fixtureが好き

  • テスト方法を模索している

When


  • 参加者が集まり

  • ピザを食べながら語る

Then


  • 何かが見える

world

  • 10人くらい入れる
  • ホワイトボードがある
  • 飲食可。持ち込み可(望ましい)
  • ネット完備(望ましい)
  • 美味しいコーヒー(望ましい、近所可)
  • 美味しいピザ(望ましい、近所可)

steps

subject_steps

  • シナリオテンプレートの2重ループ

    • テーブルの表記法をどうするのか?
    • 2重でいいのか?無限nestedがよくないか?
  • テストデータはどう準備する?

    • FactoryGirlは銀の矢なのか?
    • fixtureの復権はあるのか?
    • mockから自動でレコードを作るのはどうか
    • FactoryGirlなARオブジェの関連先(all)はどうする?
    • RR の method chain 力はその辺で猛威を振るうはず
  • mockは実装変更の影響を強く受け過ぎる気ガス

    • Modelにカラム追加で全テストのGivenを変更?
    • FactoryGirlの継承機能を使うですよ
    • Machinistはどうなの?使った人いる?
    • mock framework は RR で FA?
    • and_returnとか書くのが平気な人はJavaしてよし
    • 参照先を意識してmockを増やし続けるのに疲れたから俺fixtureに戻るよ
  • RR いいよね

    • RRのinstance_of最強
    • rspecにもなかった?
    • rspecのはmatcherで RR のはインスタンスへのメソッド追加
    • stub/mockはblankslateなので注意ね
    • method missing方式の定義なので AR の黒魔術と相性が悪い
    • 1回目は動くけど2回目やfileの順番で動かなかったり
    • RR vs AR の method 争奪黒魔術合戦
    • blankslateは1.8にバックポートして欲しい
    • overloadできるの何気に凄くない?→ rrr作りました[github]
  • cucumber遅くない?

    • parserが遅いので速い奴にrewriteする計画はある(本家)
    • てかfixtureが遅くね?
    • DBに毎回追加するのが遅い
    • 遅いけどRailsのはMerb+DMよりはマシ
    • Merb+DMは1テスト毎にdb migrateする池沼設計
    • マシだけど、マスターデータが100万件あるとspecファイル単位でも辛いっす
    • マスターデータとトランザクションデータは分ける設定欲しい
    • トランザクションデータだけ毎回入れ直しで、マスタは触らない
    • spork使ったことある人?
    • rspactorもいいかも [github]
  • Baconはどう?

    • なにそれ?検索し辛い
    • a small RSpec clone [github]
    • dkubbがDataMapperでrspec使うのやめてbacon宣言してた
    • 1ファイルなのか!
    • 足りない機能もあるけど小さくていいかもね
    • Railsに対するSinatraみたく棲み分けできそう

tool_steps

RailsRuby用のWebアプリケーションフレームワーク
MerbRailsの機能を減らさずにコードと仕様を極力シンプルにしたフレームワーク
Sinatra1ファイルで実行可能なWebアプリケーションを作れる軽量なフレームワーク
ARRails内で利用されるORM
DMMerbが利用するデフォルトのORM
RSpecBDDなテストフレームワーク
BaconRSpecの軽量クローン
Cucumber自然言語に近い形式で仕様を記述できるテストツール。内部でRSpecを利用する
FactoryGirlテスト用オブジェクト作成ツール
RRmockフレームワーク。強力だが検索し辛い。RSpecと併用可
MachinistFactoryGirlのrewrite。syntaxの表記が優れている(作者談)
Shamstubツール。Machinist内から利用される
Fakerそれっぽいデータを機械生成するツール。名前(英語)、住所(英語)、TEL、メアド、、、
Blankslateメソッドを持たないRubyオブジェクトを作るツール(class)。method_missing命。黒魔術の生成機

glossary_steps

BDD「まず仕様ありきでそれがテストになる」という宗教
fixture繰り返し使えるテストデータの集合
stub実装を与える事
mock実装と仕様を与える事
cukeCucumberの愛称
シナリオcuke内の1テストの呼称
シナリオテンプレートシナリオを繰り返し利用するときの雛形
ORMDBを簡単に扱うツール。1行を1オブジェクトとして扱う
wycats(Yehuda Katz)Merbの双璧メンテナの1人。Rails3のメイン開発者。話がわかるいい人
dkubb(Dan Kubb)DMの筆頭メンテナ。やや肥満
dhh(David Heinemeier Hansson)Rails教の教祖。最近フェラーリを購入。今回の話には出てこない

参考

議事録

  • FactoryGirl
  • ARのインスタンスを動的に作ることができる
  • fixtureと違って、カラムのデータを動的な値にしたりとか
  • fixtureでもerb書けるじゃん
  • fixtureでも関連使えるようになったし
  • baseを作っておいて変更できる
  • データを継承して作れるのがメリット
  • valiationが豊富なデータを奇麗に短くかける
  • クラス名は自動推測可能
  • mockでやると何が違うの?
  • 実際にDBにレコードとして登録されるので安心
  • で、Machinistはどう違うの?
  • ObjectDaddyてのもあるよ
  • windowsのgitクライアントはgit bashが便利
  • Factory.define :xxx の名前衝突問題
  • Factory.define :xxx, :parent=>… で継承元を指定できる
  • Machinistの方がシンタックスはよさげ
  • blueprintはshamと裏でつるんでいる
  • shamで該当attrを定義してないとエラー
  • Machinistは継承できない?
  • シナリオテンプレートの2重ループ
  • 同期:FITぽく
  • 表記:Matrix(行列)ktkr!!
  • CSS3はやくこい
  • IE6いってよし
  • 使えるのは、Safari,FF3.5,Chrome
  • 何が嬉しいの?
  • selector(evenとか)
  • layout(段組みとか)
  • deployツールは何がおすすめ?
  • Vlad(Vlad the Deployer)
  • レシピぽいものはあるが、capファイルが不要で rake ファイルに直接書くので、rake のパワーをそのまま使える
  • ruby の ssh 実装を使わずに素直に scp 外部コマンドを使っている
  • debug は大変
  • cap の方が踏み台設定もできるからいい気がするよ
  • cap はチートシートがないと何もできない
  • 英語として読みやすいのを目指したのがrspec
  • Rubyとして読みやすいのを目指したのがrr
  • このコメントは全員が閲覧、すべてのログインユーザが投稿することができます
  • comment RSS:RSS
t-wada
t-wada - (2009-11-26 20:06:32 +0900)
すみません…
舞波
舞波 - (2009-11-29 00:06:39 +0900)
昼ご飯は各自で済ませて現地集合する方向で。店舗は決まり次第ここに書きます。(秋葉、四ッ谷、銀座の優先度で予約してみます)
lchin
lchin - (2009-11-29 00:57:54 +0900)
参加できないけど、最近フィードリーダで読んだやつ:

* Factory Girlにコールバックが登場 http://robots.thoughtbot.com/post/254496652/aint-no-calla-back-girl
* WebMockというHTTPのリクエストをstub/mockできるライブラリ: http://blog.new-bamboo.co.uk/2009/11/24/stubbing-and-setting-expectations-on-http-reques
a_matsuda
a_matsuda - (2009-11-29 08:51:35 +0900)
うわー。callbackイイ!これでかなり実用的になった感じですね。Thanks for the info! > lchin
舞波
舞波 - (2009-11-29 11:09:01 +0900)
遅くなりました。ルノアール(ニュー秋葉原店)を13-17時で予約入れました。高架下の方の店です。「ニシ」で予約しています。


東京都千代田区外神田1-16-10
ニュー秋葉原センタービル地下1階
(03-3251-0210)

http://www.ginza-renoir.co.jp/myspace/mys048.htm
takiuchi
takiuchi - (2009-11-29 11:54:21 +0900)
原稿を書きまくります
舞波
舞波 - (2009-11-29 14:03:53 +0900)
すいません。ルノアールはネットが繋がらないので場所を変更します。浜松町の yamaz オフィスで。浜松町駅か大門駅(こっちが近い)に到着したら連絡下さい。迎えに行きます。

コメントを投稿するには、ログインしてください。

  • このイベントにハッシュタグは設定されていません
掲載されるイベント情報は、利用者の皆様によりご提供いただくものであり、株式会社リクルートは本情報の正確性や内容について、一切保証するものではございません。詳しくは利用規約をご参照ください。