mocha+chaiノート
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