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
VueTestUtilbrのキホンの『キ』
Search
ツノ
September 20, 2022
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VueTestUtilbrのキホンの『キ』
ツノ
September 20, 2022
Transcript
20 slides
Vue Test Utils のキホンの『キ』 ツノ:@2nofall
自己紹介:経歴 2016~2020 官公庁系の SIer:WF 型の SI 業務 2021~2022/9 SaaS の会社で営業部門の社内
SE GAS や RPA を使った業務の自動化 2022/10~ 部署異動し、フロントエンジニアに! Vue+TypeScript を使った自社プロダクト
自己紹介:趣味 銭湯・サウナ クライミング ゆっぽくん
LT 参加の背景 10 月に開発部署への異動 異動先はフロントエンドエンジニア ※前職は BE 周りで技術力に不安あり 異動先で使うスキルの以下習得が必須 Vue
TypeScript FE フレームワークのテスト知見 今回
LT の目的 アウトプットによる知識定着 1. 「ユニットテスト」について 2. Jest の使い方 3. 「モック」について
4. Vue Test Utils の使い方 ※学習した内容について、 誤りがあったらご指摘ください!
ユニットテストについて 言葉の定義 独立したソフトウェアの最小単位テスト 単体テスト・コンポーネントテストとも 広い意味で同義 重要性 コーディングによるバグを早期に検知修正 動く仕様書として活用
Jest について ユニットテストをするためのツール JavaScript テスティングフレームワークの 一つ フロントエンド FW (React Vue)との相性
本 LT では環境構築については省略
Jest の使い方(基本) 右の関数をテストする場合 const double = (arg) => arg**2; 今回は
② ~ ④ 部分を中心にお話します!
「モック」について 個人的なユニットテストつまづきポイント モックアップの直訳は「実物大の模型」 イメージ図は以下の通り
Jest での Mock について Jest でのモック生成 ⇛ jest.fn 以下例の場合、「user.addHobby」をモックとしてモック作成
ここまでの Jest を理解すれば、 Vue Test Utils も基本は使える! ※ここから先は Vue 初学者レベルの知識を要します
Vue Test Utils について 公式サイトより 実装の詳細に依存せずに コンポーネントテスト用のツール vue testing library
は、 vue-test-util をベースしたライブラリ (今回は対象外) vue-test-utils は Vue.js 向けの公式単体テストライブラ リです。 “ “
VTU:コンポーネントのマウント VTU とテスト対象のコンポーネントをインポート コンポーネントを mount し wrapper を利用 ※shallowMount を使うと子コンポーネントがスタブ化
VTU:props マウント時の第二引数として指定 props の値を途中で変えたいときには setProps を使用
VTU:slot マウント時の第二引数として指定 slots{ 名前:コンポーネント }として slot 先を指定
VTU:emit wrapper に対して emitted を使用して、発火されたイベントを取得
VTU:Vuex と Vue Router global.plugins : 実際の Store・Router をインポートしたテスト global.mocks
:Store・Router をモック化してテスト実行 ⇛global.mocks のほうが、対象をコンポーネントに向けられる。 今回は、 global.mocks の説明
VTU:Vuex mock として store を定義し、マウント時の第2引数として指定
VTU:Vue Router コンポーネントで使用する route の params、 mock として router を定義しマウント時に第二引数として指定
気づき Jest~Vue Test Utils について、 ちょっとわかる様になった。 コンポーネントに関してのテスト、 よく考えられているなと感じた。 モックやスタブの概念が曖昧だと つまづきやすい。
More Decks by ツノ
See All by ツノ
エンジニア達の_完全に理解した_-コードでの契約ってなんだ_.pdf
2nofa11
1
230
Vite完全に理解した その1
2nofa11
2
350
年末年始に「chibivue」で Vueヂカラをつけた
2nofa11
0
310
「世界一流のエンジニアの思考法」 を完全に理解した
2nofa11
1
370
書籍「プログラマー脳」を完全に理解した
2nofa11
0
94
VuexからPinia移行に向けて
2nofa11
0
480
一か月半かけて、TypeScript本を写経した話
2nofa11
0
930
Other Decks in Technology
See All in Technology
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
150
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
450
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
260
田んぼの見回りをIoTで減らしたい!水位監視から電池駆動カメラまでの試行錯誤
itosoft
1
120
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
230
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
820
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
170
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
1
460
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
760
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
200
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
450
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
290
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
600
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
470
Scaling GitHub
holman
464
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Marketing to machines
jonoalderson
1
6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
600
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Believing is Seeing
oripsolob
1
280