クイックリファレンス

Mocha HTML ブラウザテストランナー チートシート

最新の Web ブラウザ上で Mocha と Chai のテストスイートを直接実行するための HTML テンプレートおよびクイックリファレンス。

· 公開日

ブラウザ内で直接 Mocha を実行することで、ヘッドレス環境でのエミュレーションなしに DOM API、CSS レイアウト、Web プラットフォームの挙動をテストできます。

スタンドアロン HTML ランナーテンプレート

この内容を test/index.html として保存し、任意のブラウザで直接開きます:

<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>Mocha Browser Test Suite</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="https://unpkg.com/mocha/mocha.css" />
</head>
<body>
  <!-- Mocha がテスト結果を描画するコンテナ要素 -->
  <div id="mocha"></div>

  <!-- テストフレームワークとアサーションライブラリ -->
  <script src="https://unpkg.com/mocha/mocha.js"></script>
  <script src="https://unpkg.com/chai/chai.js"></script>

  <script>
    // Mocha の BDD モードを初期化
    mocha.setup('bdd');
    window.expect = chai.expect;
  </script>

  <!-- テスト対象のソースコード -->
  <script src="../src/calculator.js"></script>

  <!-- テストスイートのファイル -->
  <script src="calculator.test.js"></script>

  <script>
    // テストスイートを実行
    mocha.run();
  </script>
</body>
</html>

ブラウザ向けテストファイルの例

test/calculator.test.js の記述例:

describe('Browser Calculator', () => {
  it('adds numbers accurately', () => {
    expect(Calculator.add(2, 3)).to.equal(5);
  });

  it('inspects DOM elements', () => {
    const el = document.createElement('div');
    el.id = 'target';
    document.body.appendChild(el);

    expect(document.getElementById('target')).to.not.be.null;
    document.body.removeChild(el);
  });
});

参考リンク

関連テーマ