第38回HTML5とか勉強会いってきた
「Webアプリ×テスト最新事情」と聞いて参加してきました。
https://html5j.cloudfoundry.com/event/sd38
そのメモ。
概要
Webアプリの本格化・大規模化に伴い、テストの受容は高まるばかりです。そんな中、様々なテストフレームワークが公開されており、これらのツールを使うことで、効率的にWebアプリのテストを行うことができます。
今回の勉強会では、これら様々なテストフレームワークについて講演をいただきます。
内容
- 「JavaScriptテスト最新事情 Why? What? How?」佐藤鉄平(@teppeis)さん 20min
- 「jasmine」斎藤ゆうやさん 20min
- 「SinonJS」外村和仁さん(ピクセルグリッド) 20min
- 「JSテストフレームワークの比較(QUnit、Mocha、Jasmine...)」佐伯さん 20min
- 「講演者による座談会」20 min
1. 「JavaScriptテスト最新事情 Why? What? How?」佐藤鉄平(@teppeis)さん 20min
@teppeisさん
JSテストをしたことない人向けに
JSテストの全体像についてお話。
Why?
なんでJavaScriptのテストをするのか。
…の前に、そもそもテストって何?
実線アジャイルテストのテストの分類
アジャイルテストの4象限のうち、チーム支援にフォーカスしてみる
即ち、結合テスト/機能テスト・ユニットテスト
ユニットテスト
・チーム支援する技術面のテスト
・開発者により開発者のためのテストと考えると良い
・「何を作るか?」に対して「どう作るのか?」
・内側の内部的な品質や設計や構造の品質が向上
・大規模ではこれが必須になり、自動化があると良い
TDDと黄金の回転
Red=>Green=>Refactoring
汚く動かないコード=>動作するが汚いコード=>綺麗で動作するコード
以上のループ。
テスト環境の向上
・Node.js盛り上がってる
・テスト関連ツールの盛り上ってる
・MV*盛り上がってる
What?どうやってやる?
難しいんでしょ?
難しい点
・ビューとコードが結びつきがち
=>MV*設計で解決!
・実行環境=ブラウザが扱いづらい
=>ツールで解決!
MV*
・いろいろ宗派はあるけど、やりたいことはビューとロジックの分離
それさえできれば、ロジックのテストは普通にできるはず
例: メール一覧画面
Model: [全部、宛先で絞込み、タグで絞込み]
View: [受け取ったら表示するだけ]
Modelのテスト: 純粋なロジック、不確実性低い
Viewのテスト難しい: DOM, ユーザービリティ、目グレップ…
How?
メモ途中