🦔

Jestを勉強しようとする

2021/05/14に公開

こんにちは。ファガイです。
JavaScriptのテスティングフレームワークであるJestをやってみるかーってなったときに試したことです。

https://jestjs.io/ja/

なにはともあれチュートリアルを見る

https://jestjs.io/ja/docs/getting-started

$ yarn add -D jest

sum.jsを作ります。

sum.js
const sum = (a, b) => a + b;
module.exports = sum;

sum.test.jsを作ります。

sum.test.js
const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

package.jsonに動かすためのスクリプトを書く

package.json
  "scripts": {
    "test": "jest"
  }

実行してみる

$ yarn test
yarn run v1.22.10
$ jest
 PASS  ./sum.test.js
  √ adds 1 + 2 to equal 3 (2 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.412 s
Ran all test suites.
Done in 2.21s.

VS Codeでサジェストされない

npx jest initしても、jestの関数がVS Codeでサジェストされなかったので調べました。
どうやら2つのステップが必要なようです。

1. jestのTypeScriptの型定義ファイルを入れる

実際に利用するのがtsじゃなくても、これが必要みたいです。

$ yarn add -D @types/jest

2. jsconfig.json(tsconfig.json)を作成し、型取得するものを指定する

TypeScriptで開発をしようとした場合は、このファイルはすでにありそうです。
まっさらな状況で試そうとしたので、このファイルを作る必要がありました。

jsconfig.json
{
  "typeAcquisition": {
    "include": [
      "jest"
    ]
  }
}

あとはVS Codeの再起動を行うことでサジェストがされるようになってくれました。

Discussion