Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
vitestはじめるまで
Search
pisa-kun
November 07, 2024
Technology
140
0
Share
vitestはじめるまで
pisa-kun
November 07, 2024
More Decks by pisa-kun
See All by pisa-kun
All golangでデスクトップアプリからwebアプリにデータ連携させる
pisakun
0
26
sre本読んだ感想
pisakun
0
530
githubのレポジトリから推しの変遷を見る
pisakun
1
140
Google Cloudで最近開発した色々_アイマスハッカソン2024
pisakun
1
170
Other Decks in Technology
See All in Technology
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
0
160
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
380
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
120
インターネットの技術 / Internet technology
ks91
PRO
0
210
自立を加速させる神器 - EMOasis #11
stanby_inc
0
140
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
210
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
3
1k
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
160
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
160
Amazon S3 Filesについて
yama3133
2
210
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
170
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
210
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Why Our Code Smells
bkeepers
PRO
340
58k
The World Runs on Bad Software
bkeepers
PRO
72
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
My Coaching Mixtape
mlcsv
0
100
Rails Girls Zürich Keynote
gr2m
96
14k
Accessibility Awareness
sabderemane
1
100
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
800
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
260
Google's AI Overviews - The New Search
badams
0
980
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
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機能はとても便利
ご清聴ありがとうございました