TypeScriptでjestするときの備忘録。
ts-jest
なんてものがあるらしい。。
インストール
$ npm i -D jest $ npm i -D typescript $ npm i -D ts-jest @types/jest
package.jsonの設定
{ ... "scripts": { "build": "tsc", "test": "jest" }, "devDependencies": { //... }, "jest": { "moduleFileExtensions": [ "ts", "tsx", "js" ], "transform": { "^.+\\.(ts|tsx)$": "ts-jest" }, "globals": { "ts-jest": { "tsConfigFile": "tsconfig.json" } }, "testMatch": [ "**/__tests__/*.+(ts|tsx|js)" ] } }
テストを書く
シンプルなテスト
test("sum", () => { expect(1 + 1).toBe(2); });
beforAllやafterAllもある
beforeAll(() => { // 全体の実行前の処理: Promiseをreturnすることもできる }); afterAll(() => { // 全体の実行後の処理: Promiseをreturnすることもできる }); test("sum", () => { expect(1 + 1).toBe(2); });
describe
でまとめることもできる
beforeEach(() => { // 各テストケースの実行前の処理: Promiseをreturnすることもできる }); test("sum", () => { expect(1 + 1).toBe(2); }); describe('matching cities to foods', () => { beforeEach(() => { // 各テストケースの実行前の処理: Promiseをreturnすることもできる }); test("sum-failed", () => { expect(1 + 1).toBe(1); }); });
テストを実行する
// 全部のテストを実行 $ npm run test // ファイルを指定して実行: ファイルを指定 $ npm run test <test-file>.ts // 1ケースを指定して実行: testの名前やdescribeの名前を指定 $ npm run test -- -t "test-name"
他にも--watch
や--collect-coverage
などのオプションもある感じ。
参考になる書籍
実践TypeScript ~ BFFとNext.js&Nuxt.jsの型定義~
- 作者: 吉井健文
- 出版社/メーカー: マイナビ出版
- 発売日: 2019/06/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
速習TypeScript: altJSのデファクトスタンダートを素早く学ぶ! 速習シリーズ
- 作者: 山田祥寛
- 出版社/メーカー: WINGSプロジェクト
- 発売日: 2017/06/21
- メディア: Kindle版
- この商品を含むブログを見る
TypeScript実践プログラミング (Programmer's SELECTION)
- 作者: スティーブ・フェントン,鈴木幸敏,株式会社クイープ
- 出版社/メーカー: 翔泳社
- 発売日: 2015/01/23
- メディア: 大型本
- この商品を含むブログ (1件) を見る
JavaScriptエンジニアがTypeScriptの特徴を「超」手っ取り早く大まかに把握するための本
- 作者: 天田士郎
- 発売日: 2018/03/09
- メディア: Kindle版
- この商品を含むブログを見る