20150125 - kyosen/developing-backbone.js GitHub Wiki
活動概要
- 日時: 2015/01/25(日) 13:00 -
- 参加者: 井谷、伊藤、乙村、矢野、米田
- 欠席者: 辻
- 内容: Backbone.jsアプリケーション開発ガイド 13,14,15章
13章 Jasmine
13.1 ビヘイビア駆動開発
- TDDのフレームワークとBDDのフレームワークの違い?機能的には違いがないような気がする。(伊藤)
- 顧客の要求レベルでケース(スペック)を記述する。
- どのステークホルダーにとっても分かりやすい(英語では自然言語に近い)形でスペックを記述できる。
- テスト結果が分かりやすい?
13.2 スイート、スペック、スパイ
- p.270 共有される変数に対して、前のスペックでの結果を前提にして後のスペックが記述されている(伊藤)
- 例が悪い。望ましい書き方ではない。
- p.270 最下行: ToDo クラスを定義してmyTodoオブジェクトを生成する代わりにcreateSpyでmyTodoを生成できないか- (伊藤)
- 'メソッド'の呼び出しをテストしている。
- 例があまりよくない。通常はテストしない。
- p.271 非同期のテスト - (乙村)
- spyOn($, 'ajax').andCallFake(function()...)によってajax関数の呼び出しが指定の関数に置換される。
- getTodo(15, callback) の呼び出しによって、引数(Fake関数のoptionsに対応)オブジェクトのsuccessがcall される、すなわち引数で指定されたcallback関数が呼び出される。
13.3 beforeEach()とafterEach()
- p.273 beforeEach/afterEachの中で使われているthisは何オブジェクトを指しているのか (井谷)
- Jasmine.Spec オブジェクトらしい。
- p.274 Backbone.historyを無効化することの意義 (井谷)
- ???
13.4 有効範囲の共有
13.5 セットアップ
13.6 Backbone.jsとTDD
13.7 モデル
- p.279 initialize メソッドの実装が、単に属性の値を元の値に設定し直しているだけのように見える (井谷)
- initialize()はモデルのインスタンス生成時に呼び出される関数(p.31), {silent:true}はイベントを発生させないための指定(p.34)。
- 練習問題 - jasmine-koan では、sanitizeの処理(禁止用語の置換)が入っている。書籍化の際の不適切な引用?
13.8 コレクション
13.9 ビュー
-
このレベルのテストを書いて意味があるのか (米田) *
-
p.281 toBe(jQuerySelector)
- 自明すぎる。例がよくない。
-
p.284 最初のパラグラフ: 画面上には表れない描画(後述)とは (井谷)?
- 不明?
13.10 練習問題
13.11 参考資料
13.12 まとめ
14章 QUnit
14.1 セットアップ
14.2 アサーション
- p.294 Assertionでの引数の順番がTDDテストフレームワークのものと異なるので注意が必要 (乙村)
- actual が先
- C言語などのコーディングTipsの影響があるのかも。。。(伊藤)
- p.295 hint: test メソッドの第2引数にAssertionの個数を指定して呼び出すことができる
- 例はp.298
- p.295 最後で示唆されているexpect(個数)の解説はどこに?
- p.303 末のhint参照
14.3 アサーションへの構造の追加
- p.296 module と test の関係はどのように決まるか?
- 記述の順序
- 構造化のしくみとしては貧弱な印象。
14.4 アサーションの例
- p.298 strictEqual と deepEqual の違い?
- deepEqual はオブジェクトの要素や属性の値が等価であればtrueとなる。
14.5 フィクスチャ
- p.301 リストのNumbering: 何がうれしい?
- ???
14.6 非同期処理
15章 SinonJS
15.1 SinonJSとは
- p.306 PubSubとは?何かのライブラリ?
- p.310 https://github.com/mroderick/PubSubJS 参照。
15.2 スタブとモック
15.3 練習問題
15.4 参考資料
次回の予定
- 2015/02/08(日)
- 番外編 車予約システムを作ってみる
- 次のテーマの検討
- 必ず写経してくること!
- 写経できない部分でもサンプルの意味を理解する
- 必要な理論があればそれも理解してくる