2012-12-24

Backbone.Eventsの機能テスト

Backbone.js Advent Calendar 2012の22日目の記事です。

今見たら22日目の担当がいなかったので、慌てて書いています。ネタが無くなってきました(汗)。

本日はBackbone.EventsについてJasmineで機能テストを書いたので公開します。
Jasmine使ったBackboneのテストの書き方について、参考になれば幸いです。

コードはこちらにあります。
(1時間くらいで書きました。Jasmineだからできたと言っておきますww)

https://github.com/mitsuruog/Learning_JS/tree/master/backbone/functional_test

一式ダウンロードして「SpecRunner~」をブラウザで実行するとJasmineのテストが実行されます。
ちなみに「0.9.2」とかはBackboneのVersionです。
(0.9.9のみonceをテストしてます。)

で、きっかけは
@ahomuさんの「renderとpresenterの分離パターン」を読んで、いいなと思ったのですが、その前にBackbone.Events自体あまり理解して無いと思ったので、自分の認識が合っているかテストをして確認してみた次第です。

テストしてみた結果、少し知っていると便利だなと思ったところを2つだけ紹介します。

  1. イベント名フラグ値のようなものを付けて、別のイベントのように発火できる。
  2. イベント名の間にスペースを入れて、複数のイベントを発火できる。

こちらが、コードのサンプルです。

Backboneの0.9.9ではEvents周辺でも機能の追加がありました。「once」以外については時間切れでテストできていません、時間があったらテスト追加しておきます。