mocha javascript tutorial

2014.11.21 IoT ROBOT  Node.js

mocha javascript tutorial Movie on Youtube HP Mochaを使ってJavaScriptのテストをブラウザで実行してみよう

参照URL:CodeZine:Mochaを使ってJavaScriptのテストをブラウザで実行してみよう
JavaScriptのテスティングライブラリ
 テスティングフレームワーク
  ・Node.js向けにはコマンドラインで実行 結果を表示
 アサーションライブラリ
  ・テスティングフレームワークは テスト結果を管理するライブラリ
  ・実行結果を判定するにはアサーションライブラリが必要
   ・引数にメソッドの実行結果と想定する戻り値を指定することにより
   ・その結果が満たされていなければ
    ・Exceptionを発行してテスティングフレームワークに伝える
  ・アサーションライブラリ記述例(mocha.html)
   assert.equal("Fizz", fizzbuzz(3), '引数が3の場合はFizzが返ってくる');
TDD(テスト駆動開発)とBDD(振る舞い駆動開発)
 Mochaというテスティングフレームワークと「chai.js」というアサーションライブラリで
 テストコードを書いてみる
 ・TDDはメソッド動作をテストで表現しながら設計していく考え方
 ・BDDは振る舞い(要求仕様)をテストで表現しながら設計していく考え方
  ・TDDは実装ベースで考える手法で
  ・BDDはやりたいことベースで考える手法
 ・その違いは以下のとおり
TDD(テスト駆動開発)記述法
 関数(メソッド)を作る際に
  ・テストコードから書き
  ・そのテストが動作する最低限の実装を関数に記述しながら
 少しずつ完成させていく手法
  TDDの記述例(mocha.html
   suite('fizzbuzzメソッドのテスト', function(){
   suite('#fizzbuzz()', function(){
   test("3の場合はFizzが返ってくる", function () {
   assert.equal("Fizz", fizzbuzz(3), '引数が3の場合はFizzが返ってくる');
   });
   });
   });
BDD(振る舞い駆動開発)記述法
 振る舞い駆動開発(BDD)は
  ・作成する機能に期待する「振る舞い」を文章で記述していきます
  ・テスティングフレームワークの関数が文章として記述しやすくなっており
  ・アサーションライブラリもプロパティをつなげて文章のように記述することができる
 BDDの記述例(mocha.html)
   describe('顧客データを保存する場合', function() {
   it("重複したデータが存在しないこと", function () {
    existsCustomerData("yasunishi").should.to.eql(false);
   });
   });


「Mocha」とは
 ・「mocha(モカ)」は、javascriptの単体テストで使用されているテストフレームワークです
 ・ node.jsやブラウザから実行ですることもできます
 ・非同期のテストも可能
 ・mocha自体はアサーション機能は持っていません
 ・ブラウザでの実行とNode.jsでの実行の両方をサポートしています
 ・テストの記述方法としては
   ・BDD(振る舞い駆動開発)の記述形式であるexportとshould
   ・TDD(テスト駆動開発)の記述形式であるassert
   ・jQueryのテストを目的するテスティングフレームワークQUnitの記述方法であるQUnitスタイル
  を提供します

関連記事

 マイコン制御


全タイトルを表示

openclose

プルダウン 降順 昇順 年別

06月 | 2020年07月 | 08月
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -


全タイトルを表示

​海遊旅人 - Photography ​海遊旅人 - VideoGraphy ​201200819the_wagyu_database2.jpg 201200819google_drive2.jpg 20120829weer_tech00.jpg

名前:
メール:
件名:
本文:

QRコード
・最近記事のRSS
・最新コメントのRSS
・最新トラックバックのRSS


new BL TP ML gif_anime vimeo youtube
Google Picasa flickr Facebook Pin
Globe

*