mocha+chaiノート

2619 ワード

npm install --global mocha

//  
expect(4 + 5).to.be.equal(9);
expect(4 + 5).to.be.not.equal(10);
expect(foo).to.be.deep.equal({ bar: 'baz' });

//  true
expect('everthing').to.be.ok;
expect(false).to.not.be.ok;

// typeof
expect('test').to.be.a('string');
expect({ foo: 'bar' }).to.be.an('object');
expect(foo).to.be.an.instanceof(Foo);

// include
expect([1,2,3]).to.include(2);
expect('foobar').to.contain('foo');
expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo');

// empty
expect([]).to.be.empty;
expect('').to.be.empty;
expect({}).to.be.empty;

// match
expect('foobar').to.match(/^foo/);

--recursiveパラメータ再帰実行ディレクトリ内のすべてのテストファイル--reportersパラメータは、組み込まれたすべてのレポートフォーマットを表示します.
npm install --save-dev mochawesome

  --reporter( -R ) mochawesome  HTML , https://mochajs.org/#reporters --watch(-w)パラメータは、指定されたテストスクリプトを監視するために使用されます.--bail(-b)パラメータは、1つの試験例が合格しない限り、後続の試験例の実行を停止することを指定する.--grep(-g)パラメータは、試験例の名前(すなわち、itブロックの最初のパラメータ)を検索し、一致する試験例のみを実行するために使用される.
npm install babel-core babel-preset-es2015 --save-dev

 .babelrc
{
  "presets": [ "es2015" ]
}
--compilersパラメータを使用して、テストスクリプトのトランスコーダを指定します.
--require babel-core/register

Babelのデフォルトでは、Iterator、Generator、Promise、Map、Setなどのグローバルオブジェクト、およびObject.assignなどのグローバルオブジェクトの方法はトランスコードされません.これらのオブジェクトをトランスコードしたい場合は、babel-polyfillをインストールします.
 
npm install babel-polyfill --save
import 'babel-polyfill'

Mochaのデフォルトでは、各テスト・インスタンスは最大2000ミリ秒実行され、結果が得られなければエラーが報告されます.-tまたは--timeoutのパラメータを使用して、デフォルトのタイムアウト設定を変更する必要があります.
Mochaのデフォルトでは75ミリ秒を超えるテストケースがハイライト表示され、このパラメータは-sまたは--slowで調整できます.
,MochaはPromiseのサポートを内蔵しており,doneメソッドを明示的に呼び出すことなく,その状態が変化するまでPromiseに直接戻ることを許可し,断言を実行する.
it(' ', function() {
  return fetch('https://api.github.com')
    .then(function(res) {
      return res.json();
    }).then(function(json) {
      expect(json).to.be.an('object');
    });
});
onlyメソッドのあるテストインスタンスのみが実行されます.skipメソッドは、指定されたテストキットまたはテスト例をスキップすることを示す
 
--recursive -R markdown > spec.md
--reporter doc > spec.html