0-9
mocha+TypeScript+power-assert

TypeScriptがasync/await対応したのでテストとかでも使いやすくなった。

こないだ試したらちょうどmocha+TypeScript+power-assertが使えるようになってたのでメモる。

package.json

  {
    "devDependencies": {
      "babel": "^6.0.15",
      "babel-polyfill": "^6.0.16",
      "espower-babel": "^3.3.0",
      "espower-typescript": "^2.0.0",
      "mocha": "^2.3.3",
      "power-assert": "^1.1.0",
      "watchify": "^3.6.0"
    },
    "scripts": {
      "test": "mocha --compilers ts:espower-typescript/guess --compilers ts:espower-babel/guess test/**/*-test.ts",
      "test:watch": "mocha -w --compilers ts:espower-typescript/guess --compilers ts:espower-babel/guess test/**/*-test.ts"
    }
  }

test/index-test.ts

  import 'babel-polyfill';
  import assert from 'power-assert';
  
  describe(`hoge`, () => {
    it(`huga`, async () => {
      let res = await new Promise((resolve) => {
        setTimeout(() => {
          resolve(2);
        });
      });
      assert(res === 1);
    });
  });

でいける。

ポイントはmochaの–compilersが複数個受け取れること。

これで中間ファイルなしに一気にテストをmochaで書ける(エラー行もsourceMapでちゃんと対応付けられる)

espower-typescriptはこないだまで内部のTypeScriptが古くてES6対応できてなかったけど、こないだバージョンアップして対応できた。

power-assertもこないだasync/await対応したので使えるようになった。

これで勝てる。

  1. atm09td0-9からリブログしました
  2. 0-9の投稿です