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
vitestはじめるまで
Search
pisa-kun
November 07, 2024
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
vitestはじめるまで
pisa-kun
November 07, 2024
More Decks by pisa-kun
See All by pisa-kun
All golangでデスクトップアプリからwebアプリにデータ連携させる
pisakun
0
42
sre本読んだ感想
pisakun
0
590
githubのレポジトリから推しの変遷を見る
pisakun
1
160
Google Cloudで最近開発した色々_アイマスハッカソン2024
pisakun
1
220
Other Decks in Technology
See All in Technology
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.4k
[dbts2026]数十PBの超巨大データ×AI活用を支えるSnowflakeの実力〜大規模環境におけるアーキテクチャと運用のリアル〜
y_matsubara
0
120
Software Engineering in an AI-Driven World
erikjhordan_rey
0
130
コードレビューをなくして見えたもの
henteko
0
140
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
eBPF 簡介 2026 版
shunghsiyu
0
190
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
250
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
Kiro Crew 入門 (手を離しても進む仕事) | 目指せ Kiro マスター 11
inariku
PRO
4
650
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
290
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
4
1.7k
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
470
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
510
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
Technical Leadership for Architectural Decision Making
baasie
3
640
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Faster Mobile Websites
deanohume
310
32k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
Transcript
vitestはじめてみるまで 2024年 11月 7日 ぴさ(x: @pisa40338570) akihabara.any #2【ノンジャンル技術系LTイベント】
1 2 3 自己紹介 vitestとは アジェンダ vitest導入とテストまで
自己紹介 1 2 3
出身: 福岡県 就職してからの居住地: 大阪(新卒)->名古屋(転職1回目)->東京(今年・2回目) ぴさ@SREエンジニア 事業会社で府省庁向けのサービス開発しています 自己紹介 ビジネス向けPCのプリインソフト開発(C#) PCのデータ収集基盤開発(AWS, Python,
TS) Sier転職してPL・PM 現在: 府省庁向けサービス開発(GCP, Nextjs) SREっぽいこと(CICD, その他改善活動)
2 1 3 vitest(ヴィーテスト)とは
UnitTestとは プログラムコードの最小機能ユニットをテストするプロセス コード毎にユニットテストを作成し、変更があるたびにテストを自動実行することで早 期にバグやエラーを特定する 参照:https://aws.amazon.com/jp/what-is/unit-testing/
vitestとは モダンなフロントエンド開発を高速化するテストフレームワーク JavaScriptのテストフレームワークとして有名なJestと互換性があり、Jestと比較し てテスト実行のスピードが非常に早いのが特徴 JestからVitestへの移行ガイドや導入の記事が多い v1.0.0: 2023/12/5 release, latest v2.1.4
3 1 2 vitest導入とテストまで
vitestの導入1 1.プロジェクトの作成と関連パッケージのインストール 前提としてインストールしているもの ・node: v22.1.0 ・pnpm: v.8.15.9 *インストールしているパッケージは過不足あるかも・・・
vitestの導入2 2.vitestの設定、ルートディレクトリにvite.config.tsを作成 3.(必須ではない)package.jsonの設定
vitestで行う簡単なテスト1 e.g. 足し算をする簡単な関数のテスト src/utils/sum.ts src/test/sum.test.ts pnpm run testで passedがでればOK
vitestで行う簡単なテスト2 e.g. 各テスト前に実行(DBのデータをクリアするようなケース) src/utils/user.ts 配列にデータを挿入・取得・削除するクラス src/test/user.test.ts 直前にaddUserが実行されているが addUser(‘Liliya’)はid=1にしたい 全てのテスト実行前に Clearを行う
vitest(jest)で便利と思ったところ 関数内部で利用している関数をmock化できる点! src/utils/calc.ts src/utils/calcFunction.ts calcResultはadd, sub関数に依存してる もし、addが数十秒かかる処理だったら? src/test/calcFunction.test.ts calcResultが使っているsumとsubを mock化して固定値を返せる
vitest(jest)で便利と思ったところ 少し前は関数やclassを引数受け取りしてテストコード作ってたので mock機能はとても便利
ご清聴ありがとうございました