0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Run functions × TypeScript 開発をしよう!Advent Calendar 2024

Day 11

Cloud Run functions × TypeScript 開発をしよう!【テスト:Jestをラクに実行する for VSCode】

Last updated at Posted at 2024-12-12

はじめに

この記事では以下のことについて説明しています。

  • VSCodeを使って楽にJestを実行する方法

ひとつ前の記事では、npm run test でテストを実行していました。特定の関数だけテストしたい場合はファイル名を引数につけたりオプションを指定して実行する必要があります。

$ npx jest test/hoge.test.ts 

> advent-calendar-2024@1.0.0 test
> jest test/hoge.test.ts

 PASS  test/hoge.test.ts
  ✓ check (1 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.09 s, estimated 2 s
Ran all test suites matching /test\/hoge.test.ts/i.

その他のオプション

しかしいちいち必要なオプションを入力しては時間がかかるし面倒くさいです。ということでJestを実行する上で便利なVSCodeの拡張機能を紹介します。

便利なJestのVSCode拡張機能

vscode-jest

image.png

VSCodeの拡張機能で「Jest」と検索したら一番上にヒットする拡張機能です。
インストールするとテスト用のタブがサイドバーに追加され、テストケースの左横に緑の▶︎マークがつきます。

スクリーンショット 2024-12-13 1.38.27.png

各アイコンの意味は以下のようになっています。

スクリーンショット 2024-12-13 1.51.27.png

実行設定はデフォルトで「watch」になっていますが、実行速度が遅くなってしまうので「on-demand」にしておきましょう。歯車のアイコンをクリックして「on-demand」を選択後、右上のチェックマークを押します。

スクリーンショット 2024-12-13 1.57.53.png

デバッグモードは適当な場所にブレイクポイントを貼って実行するとその場所で処理が止まるようになります。

output.gif

Jest-Runner

image.png

VSCodeの拡張機能で「Jest」と検索したら2番目にヒットする拡張機能です。vscode-jest とできることはほぼ同じですが、必要最低限の機能だけが揃っている感じです。「alt + 1」でテストが実行できるなどのショートカットが最初から設定されており、ちょこっとだけ便利。

vscode-jest と両方入れる必要はあまりないので、好みでどちらかだけインスコしましょう。

Jest Snippets

image.png

Jest関連のコードをぱぱっと予測入力してくれる拡張機能。

output.gif

結構時間短縮になるので便利。基本的には

  1. キャメルケースの先頭
  2. ドットで区切られた単語の先頭

をベースとなる構文と組み合わせて構成しているので、よしなに予測しながら入力しよう。
入力対応しているスニペットでよく使いそうなものを挙げてみる。

describe系

Trigger Content
desc describe
desce describe.each
ae afterEach
aa afterAll
be beforeEach
ba beforeAll

test系

Trigger Content
it it
ite it.each
test test
teste test.each
testet test.each (table)

expect系

Trigger Content
exp expect
tb toBe
tbf toBeFalsy
tbgt toBeGreaterThan
tbgte toBeGreaterThanOrEqual
tbi toBeInstanceOf
tblt toBeLessThan
tblte toBeLessThanOrEqual
tbn toBeNull
tbt toBeTruthy
tbu toBeUndefined
tc toContain
tce toContainEqual
te toEqual
tse toStrictEqual
thbc toHaveBeenCalled
thbct toHaveBeenCalledTimes
thp toHaveProperty
tm toMatch
tmo toMatchObject
tt toThrow
tte toThrowError

おわりに

Jestをラクに使えるVSCodeの拡張機能について紹介しました。明日以降いよいよGCP上でCloud Run functionsを動かす話に移っていこうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?