Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【Vitest5.0大解剖】Vitest5.0で増えた書き方
Search
赤神青空
PRO
September 06, 2026
Video
Programming
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【Vitest5.0大解剖】Vitest5.0で増えた書き方
赤神青空
PRO
September 06, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【AWS AIF対策】モデルの学習とファインチューニング
akagami
PRO
0
6
【AWS AIF対策】プロンプトエンジニアリング
akagami
PRO
0
11
【AWS AIF対策】RAGとベクトルデータベース
akagami
PRO
0
10
【AWS AIF対策】基盤モデルの選び方と推論パラメータ
akagami
PRO
0
16
【AWS AIF対策】AWSの生成AIサービスの全体像
akagami
PRO
0
26
【AWS AIF対策】エージェント型AIとMCP
akagami
PRO
0
24
【AWS AIF対策】生成AIの得意・不得意とコスト
akagami
PRO
0
25
【AWS AIF対策】生成AIの基本用語
akagami
PRO
0
31
【AWS AIF対策】ML開発の流れと評価指標
akagami
PRO
0
28
Other Decks in Programming
See All in Programming
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
280
一人だけ、Kiroが静止する日
hideg
0
140
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
180
iOSDC2026登壇資料.pdf
riofujimon
0
200
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
150
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
560
AHC070解法紹介
eijirou
0
150
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
4
400
すこし踏み込む CancellationToken
htkym
2
1.5k
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
450
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Odyssey Design
rkendrick25
PRO
2
850
ラッコキーワード サービス紹介資料
rakko
1
5.1M
4 Signs Your Business is Dying
shpigford
187
23k
WENDY [Excerpt]
tessaabrams
14
40k
Become a Pro
speakerdeck
PRO
31
6.3k
Transcript
2026年9月 Vitest全5回5.0③ vi.when で増えた書き方 とベンチマーク 赤神 青空
▪mockImplementation vi.whenの中で引数を分岐する必要がなくなった — 引数ごとの振る舞い 引数は深い等価比較で照合され、 expect.any() などの非対称マッチャーも使える。 ts const findById
= vi.fn() vi.when(findById) .calledWith(1) .thenResolve({ id: 1, name: 'Ella' }) .calledWith(2) .thenResolve({ id: 2, name: 'Gracie' }) .calledWith(expect.any(Number)) .thenReject(new Error('not found')) 今ココ API 2/7
▪回数の制御と、消費されたかの検証 vi.when の周辺 、または times オプションで振る舞いの回数を制限できる toHaveBeenExhausted で、登録した振る舞いがすべて消費されたかを検証できる 詳しい使い分けは公式の Conditional
Mocking レシピにまとまっている thenReturnOnce 今ココ API 3/7
▪bench ベンチマークAPIの書き換え はトップレベル import ではなくなった bench はテストコンテキストのフィクスチャになり、通常の test() の中で使う。 ts
test('compare parsers', async ({ bench }) => { const result = await bench.compare( bench('JSON.parse', () => { JSON.parse('{"key":"value"}') }), bench('custom parser', () => { customParse('{"key":"value"}') }), ) expect(result.get('JSON.parse')).toBeFasterThan(result.get('custom parser')) }) 今ココ API 4/7
▪独立した存在から、テストの中の道具へ bench の位置づけが変わった Vitest 系 Vitest . parse.bench.ts parse.bench.ts bench()
※トップレベル import ベンチマークは、テストとは別の存在 出⼒もレポーターとは別扱い テストランナーの機能 ✕ フィクスチャ ✕ ライフサイクルフック ✕ リトライ‧フィルタ ✕ アサーション 使えない test(...) bench ※テストコンテキストの⼀部 テストランナーの機能 ◯ フィクスチャ ◯ ライフサイクルフック ◯ リトライ‧フィルタ ◯ アサーション そのまま使える∕出⼒は default‧json レポーターに含まれる テストコンテキストのフィクスチャになったことで、ランナーの機能が使える 今ココ API 5/7
▪比較と差し替え ベンチマークの周辺 で結果を保存し、 bench.from() でベースラインと比較できる 組み込みのTinybenchを、独自のベンチマークプロバイダに差し替えられる writeResult 今ココ API 6/7
▪ 第3回のまとめ 引数ごとのモックと、テストの中で書くベンチマーク。 vi.when 引数ごとの振る舞いを、分岐を書かずに定義できる。 bench フィクスチャになり、ランナーの機能がそのまま使える。 どちらも既存のテストを壊さない追加です。 今ココ おわりに
7/7