nodejsのユニットテストフレームmocha


nodejsのユニットテストフレームmocha
私達が比較的に複雑なプロジェクトを編纂する時、プロジェクトのテスト用例に対して長期追跡を行い、ユニットモジュールに対して品質管理を行い、開発成果に対して自己検査を行う必要があります.それでは使いやすいツールが必要です.まだ実践する時間がないので、ノートを強制的に書くことによって、自分の理解を深め、共有することを学び、学習力を高めていきます.
1.据え付け
 npm install --global mocha
2.プロジェクト開発依存項としての設置
npm install--save-dev mocha
3.バージョンの注意事項
Mocha v 3.00はnpm v 2.4.2+v 3.00を必要とした後、文字列マッチングに依存しなくてどのテストを実行するかを決定します.Only()は、実行するテストサブセットを定義するために複数回使用することができます.
4.符号化
before、after、beforeEach、afterEachを支持することができます.
5.testディレクトリ
mochaはtestディレクトリのすべてのテストを実行します.ディレクトリ名は変更できません.サブディレクトリを含めるなら--recursive
6.packageを生成する.jsonはmochaに依存する.
npm initコマンドを使ってpackage.jsonを生成します.
7.各テストのセクション
it(「name」,function(){…}
8.試験原則
一回に一つの状況だけを測って、テストコードはとても簡単なcd mochaです.
9.起動コマンド
  • (1).node_modules/mocha/bin/mocha
  • (2)まずpackage.jsonにscript{test”:“mocha”を追加して、npm test
  • 10.debugコマンドの設定
    11.段落コード説明
    特定の実行
    describe.only("#indexOf()", function(){});
    スキップ
    descrip.skip("#indexOf()", function(){});
    複数のテストをスキップ
    before(function(){
        if(/* check test environment */) {
            //setup code
        } else {
            this.skip();
        }
    });
    Diffビュー
    err.actual err.expected成功失敗図と言い切る
    requireコンダクタンス
    var testCase = require('mocha').describe;//           
    テストを再開します
       this.retries(x) ,     beforeEach afterEach  
    動的生成テスト
    定義が遅い方法
    this.slow(10000);
    タイムアウトを定義する方法
    this.timeout(500);
    コードレベルは
       
        describe  
       
        it  
       
        beforeEach 
    12.mochaのテストインターフェース
    BDD,TDD,Exports,QUnit,Require BDDインターフェースはよく使われていますが、これまでの例は全部BDDです.TDDインターフェースはJUnitのような呼び出し方式である.QUNITの扁平化はTDDに似ていますが、before、after、beforeEach、afterEachにも対応しています.
    13.試験ツール
    Wallaby.jsmoocha側サイドバー
    14.試験報告書
    spec報告器:ネストされた層状ビュー格子報告器を出力できます.最小化された出力です.一連の文字でテストケースを表してもいいです.失敗は赤の感嘆符です.待機は青いカンマです.スローは次のようです.×××NYAN報告器を表示します.このわけがわからないTAP報告器は、各行のユニットテストの詳細を表示します.LANDING STRIP報告器:飛行機が降下する滑走路LIST報告器:詳細リストPROGRESS進捗報告器:プログレスバーMIN報告器:要約DOC報告器のみを表示します.これまでの形式で本文を出力します.
  • (1)レポート
    mocha.setup({
    ui:'tdd',
    ignoreLeaks: true,
    asyncOnly: true
    });
  • をインストールする.
  • (2)パラメータ指定報告器
    mocha --reporter list --growl
  • (3)変数定義報告器
    $REPORTER=nyan npm test
    は、コールバックを繰り返すと
  • を逃します.
    15.require('chai')は断言ライブラリです.
    var shuld=require('chai').shuld()これはShuld.exist(bit coree.lib)を判断できます.これらの内容は存在しますか?
    言語連鎖
    to
    be
    been
    sinonは偽サーバを作成できます.
    let server=sinon.fakeServer.creat()
    sinonはspyとStubが協力してフレームchaiを断言することを提供します.
    アナログ戻り値:sinon.fake.returns(42)アナログajax:sinon.replace(jQuery、'ajax'、sinon.fake();アナログxhr:sinon.useFakeXMLtpRequest()アナログサーバ:sinon.fakeServer.creat()
    proxyquire被覆依存性(注入依存?)
    アナログ
    sinon.mock(database);
    16.spies、stubとmockの違い
    stubはspiesのすべての機能を持っています.呼び出し状況を監視するためではなく、完全に代替します.mockはstub機能と同じで、指定関数を置き換えるために使用されます.mockは複数の方法を置き換えるために使用されます.stubは代替関数に適用されます.