ユニットテストって何?って人向けのmochaとchaiの使い方 を見ていて、
MochaとChaiの事が気になったので、簡単な使いかたをメモ。
#フォルダ構成 (Nodeが動く環境用)
/
L package.json
L /test
package.json (抜粋)
"scripts": {
"test": "mocha"
},
テスト用のコードは、/test
直下に置きます。
(mochaの自動検索対象は、/test
直下のみ。)
Visual Studio Codeにnpm用の拡張機能を入れておくと、
Ctrl+R T
でテストが実行できるので便利!
(npm run-script test test
が呼ばれます。)
以上! ・・で終わってもよいのですが、以下おまけ。
##Chaiの使いどころ:assert以外のものも使える
Mochaに組込まれているのは、Nodeのassertのみ。
expect()などを使いたい場合は、Chaiなどのライブラリが必要になります。
Mocha: Assertions
chai - expect(), assert() and should-style assertions
##テスト用のコードの例 (Mocha + Chai)
ベースは、Mocha: Dynamically Generating Tests
"use strict";
const chai = require('chai');
const expect = chai.expect;
const tgt = require('../dist/tgt'); // テスト対象のモジュール
describe('モジュール名とか', function()
{
describe('関数名とか', function()
{
const fnc = tgt.fnc; // テスト対象の関数
const arr = [
{ value: 'あってる', comp: true },
{ value: '間違い', comp: false }
];
arr.forEach(function(test)
{
const msg = 'value:' + test.value; // テスト結果の各行に表示されるメッセージ
it (msg, function()
{
expect(fnc(test.value)).to.be.equal(test.comp);
});
});
});
});