高速テスト

TypeScriptのテスト の続き。

次をインストールする。

  1. グローバルに esbuild
  2. ローカルに esbuild-jest
  3. ローカルに @types/jest

jestの設定をする。例えば、package.json に書く。

  "jest": {
    "verbose": true,
    "transform": {
      "\\.ts$": "esbuild-jest"
    }
  },

デフォルのテストファイル名として、*.test.js, *.test.ts があるので、*.test.js があると実行してしまう。tsc の結果として *.test.js が出力されている場合は消す。tsc の型チェックは --noEmit オプション付きで行う。

esbuildのjs生成したファイルは残らない。どっかにキャッシュされているだろうが。

エクスポート/インポートは次のようにするとよさそうだ。

/* polynom.ts */

export {
  listEqual,
  calcProductCoef,
  calcProductCoefByList,
  normalizePolynomList,
  polynomListEqual,
  combineSimilarTerms,
  removeZeroTerms,
  sortTermsByDeg,
  normalizePolynom,
  monomEqual,
  polynomEqual,
}
/* polynom.test.ts */

import {
  listEqual,
  calcProductCoef,
  calcProductCoefByList,
  normalizePolynomList,
  polynomListEqual,
  combineSimilarTerms,
  removeZeroTerms,
  sortTermsByDeg,
  normalizePolynom,
  monomEqual,
  polynomEqual,
}  from "./polynom"