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
32
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
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
Agents on Rails - Rails at Scale 2026
irinanazarova
0
300
Are APIs Still Relevant in the AI Era?
soyuka
0
380
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
790
AWSに止められる覚悟してますか?
morizo_1984
2
490
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.2k
Webの地図
yosuke_furukawa
PRO
6
5k
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
260
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
310
Workers Cache を知る
syumai
0
320
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Paper Plane
katiecoart
PRO
4
53k
Mind Mapping
helmedeiros
1
380
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
For a Future-Friendly Web
brad_frost
183
10k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Producing Creativity
orderedlist
PRO
348
41k
So, you think you're a good person
axbom
PRO
2
2.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Transcript
2026年9月 Vitest 5.0全5回で静かに変わる挙動 ④ 既定値とアサーション 赤神 青空
▪各テストの前に clearMocks が既定で true に vi.clearAllMocks() が走る これまで(4系) モックの呼び出し履歴がテストをまたいで残る 実行順に依存するテストが生まれやすい
順序依存のテストを生む代表的な原因だった これから(5.0) 履歴は毎テスト前にクリアされる 実装は保持されるので、差し替えは残る {'従来の挙動に戻すなら clearMocks': 'false '} 既定値の変更なので、設定を書き換えていなくても挙動が変わります。 今ココ 挙動の変更 2/6
▪4系では警告のうえ、テストは通っていた await し忘れたアサーションが失敗になる resolves / rejects / toMatchFileSnapshot が対象。 ts
test('unawaited assertion', async () => { expect(promise).resolves.toBe(1) // 5.0 では失敗する await expect(promise).resolves.toBe(1) // これが正しい }) 今ココ 挙動の変更 3/6
▪確定しないまま待ち続けることがなくなった expect.poll がタイムアウトで reject する コールバックが AbortSignal を受け取るので、実行中の処理を打ち切れる。 ts await
expect.poll(async ({ signal }) => { const response = await fetch('/api/status', { signal }) return response.status }, { timeout: 1000 }).toBe(200) 今ココ 挙動の変更 4/6
▪Date と並んで、既定で対象に入った フェイクタイマーが Temporal もモックする vi.useFakeTimers() にも、フェイクタイマー無しの vi.setSystemTime() にも効く。 ts
vi.setSystemTime(0) Temporal.Now.instant().epochMilliseconds // 0 // 対象から外すなら toNotFake に Temporal を足す 今ココ 挙動の変更 5/6
▪ 第4回のまとめ ここはコードを直さなくても結果が変わるところ。 既定値 clearMocks が true。 Temporal もモック対象。 アサーション
await 漏れは失敗。 expect.poll はタイムアウトで reject。 上げたあとにテストが落ちたら、まずこの4つを疑ってください。 今ココ おわりに 6/6