昨日のサンプルは、クリックイベントの処理がモデルの中に入っているので、ちょっとイマイチだったので、コントローラ側でその辺りの処理をするように再度修正してみました。ArrayなどのUndoに対応できる用にコントローラ側でデータ修正する際に、深いコピーでモデルに入れるようにしないといけないのでその辺りも合わせて修正しました。src="app.js"></script></body></html>次に単体テストをmochaを使用して記述してみます。mocha.js,mocha.d.ts,mocha.css,asert.js,assert.d.tsを用意しておく必要があります。書いていてわかったのですが、実はBackbone.undo.jsはデータをスタックする際にタイムスタンプを用いているらしいので、テストユニットでババっと流すと、同じタイムスタンプでスタックされてしまい、思い通りの動きになりません。そこで、テストユニットにはsettimeoutで少し実行間隔を開けてやることにします。src="app-test.js"></script><script>mocha.run();</script></body></html>本来ならば、gruntとphantom.jsを用いてコマンドラインから実行するのが普通でしょうが、このapp-test.htmlをブラウザで開くだけでもテストを実行できます。