More Related Content Similar to MochaとChaiでやるJavaScriptテスト (10) More from Shunji Konishi (16) MochaとChaiでやるJavaScriptテスト5. インストール–HTML実行
mocha.js、mocha.css、chai.jsを参照可能なところにコ ピー
クライアントライブラリの取得はできるだけBowerを使 用した方が良い
バージョン管理が楽になるので
jQuery等のメジャーなライブラリはブラウザのキャッシュ を使うためにCDNを使うのもアリ
bower install mocha --save-dev
bower install chai --save-dev
cpbower_components/mocha/mocha.* public/test
cpbower_components/chai/chai.js public/test 8. JSの書き方
FizzBuzzサンプル
ここではテスト対象のメソッドも
同一ファイル内に書いてあるが
本来はテスト対象は外部にある
BDDで使用するキーワードは
describeとitの2つ
★describe
単純なグループ化
複数ネスとしても良い
describe has some describes
and some its.
★it
テストケース
it has some asserts.
assertを使用する 11. タイムアウト
タイムアウト
デフォルト2000ms
コマンドラインオプション–tで設定可能
スロー判定
デフォルト75ms
コマンドラインオプション–s で設定可能
describeまたはitのコールバック内で個別に設定すること も可能
this.timeout(5000);
this.slow(3000); 13. Http(s)モジュール
Node.js標準のhttpライブラリ
びっくりするぐらいRaw
Cookieを自分でセットしないとならない
POST文字列を自分でURLEncodeして組み立て
Content-TypeとかContent-Lengthの計算も自力
何故かデフォルトでChunked
ラッパーを開発中
jQuery#ajaxライクなdata引き渡し
レスポンス完了時のコールバック
Cookie等のHTTPヘッダも空気読んで追加
CSRFサポート 17. メール送信のテストも出来るかも
メールテスト用のサーバをHeroku上に作成するというア イデアをちょっと思いついた
例えば新規ユーザ作成時にメールでユーザの存在確認を するような処理
Mochaからユーザ登録のURLをキック
メールアドレスはSendGridのParseAPI宛にしておく
テストサーバが受信メールをフックしてキャッシュに保存
Mochaからはテストサーバのポーリング、またはWebSocket で完了待ち
メールは数分以上遅延することがあるのが難点
が、うまくすれば汎用的なものを作れる可能性はある
HerokuButtonで公開するアプリとしてちょうど良いかも