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
VueTestUtilbrのキホンの『キ』
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ツノ
September 20, 2022
Technology
170
0
Share
VueTestUtilbrのキホンの『キ』
ツノ
September 20, 2022
More Decks by ツノ
See All by ツノ
エンジニア達の_完全に理解した_-コードでの契約ってなんだ_.pdf
2nofa11
1
180
Vite完全に理解した その1
2nofa11
2
290
年末年始に「chibivue」で Vueヂカラをつけた
2nofa11
0
290
「世界一流のエンジニアの思考法」 を完全に理解した
2nofa11
1
310
書籍「プログラマー脳」を完全に理解した
2nofa11
0
78
VuexからPinia移行に向けて
2nofa11
0
450
一か月半かけて、TypeScript本を写経した話
2nofa11
0
840
Other Decks in Technology
See All in Technology
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.4k
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
240
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
120
AI バイブコーティングでキーボード不要?!
samakada
0
640
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
170
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
79k
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.5k
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
1.8k
ServiceNow Knowledge 26 の歩き方
manarobot
0
240
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
150
はじめての MagicPod生成AI機能 機能紹介から活用方法まで
magicpod
0
120
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
130
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
980
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
900
Faster Mobile Websites
deanohume
310
31k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
54k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.7k
How STYLIGHT went responsive
nonsquared
100
6.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Chasing Engaging Ingredients in Design
codingconduct
0
180
Mind Mapping
helmedeiros
PRO
1
170
HDC tutorial
michielstock
2
630
Transcript
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 について、 ちょっとわかる様になった。 コンポーネントに関してのテスト、 よく考えられているなと感じた。 モックやスタブの概念が曖昧だと つまづきやすい。