StotybookからはじめるVRT -個人開発編-
by
arrow2nd
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
StotybookからはじめるVRT -個人開発編- arrow2nd / E2Eテスト自動化の事例4選 ~Playwright活用編~
Slide 2
Slide 2 text
arrow2nd といいます あろーって読むことが多いです ちょっと株式会社 で フロントエンドエンジニアをしています 自己紹介
Slide 3
Slide 3 text
ab つくっているサービスについe Wb StorybookのVRTを導入したのはなぜ b Playwrightを選んだ理由は Çb 実例と工夫したとこÁ `b 導入してみe Tb さいごに 流れ
Slide 4
Slide 4 text
「個人開発」の話です! chot Inc. のプロダクトではありません
Slide 5
Slide 5 text
つくっている サービスについて
Slide 6
Slide 6 text
サービスについて ️ yondako.com よんだことをわすれないための 読書記録サービス コミュニティ機能などがなく、 読書状況の記録に特化
Slide 7
Slide 7 text
サービスについて 2024年5月 から開発をはじめて、8月にリリース 7月〜8月がピークでガッとつくった
Slide 8
Slide 8 text
StorybookのVRTを 導入したのはなぜ?
Slide 9
Slide 9 text
動機 T デザイン頑張ったので壊れてほしくな3 T 個人開発なのでかけられる時間に限りがあ) T コンポーネントや関数の単体テストだけじゃ心許ない → 時間をかけずに導入できて、かつ効果もそれなりにある テストがほしい……
Slide 10
Slide 10 text
それ、StorybookのVRTかも 2 既にStorybookを導入していた 2 1つのテストファイルで、全ての コンポーネントのVRTができる 2 最低限、コンポーネントの見た目は守って くれる
Slide 11
Slide 11 text
Playwrightを選んだ 理由は?
Slide 12
Slide 12 text
ツールを増やしたくなかった P Playwright はどうせ使うつもりだっ( 2 E2E テストも書いていく予& 2 今後に足掛かりにもなる P VRT に必要な「撮影・比較・差分出力」は Playwright のみで可r 2 できるならこれでいいんじゃない?の気持ち
Slide 13
Slide 13 text
テストが遅くなったときも安心 4 分割実行のサポートが手厚0 ) Actionsのサンプルもある 4 テストレポートのマージ機e ) npx playwright merge-reports https://playwright.dev/docs/test-sharding
Slide 14
Slide 14 text
実例と工夫したところ
Slide 15
Slide 15 text
撮影→比較の流れ I% index.jsonからコンポーネントの情報 を取# !% ループで各コンポーネントを撮 % 保存済みの画像と比較 https://github.com/yondako/yondako/ blob/66f545bac09f4a714601cf33f85b42c34dce4aed/.storybook/stories.spec.ts
Slide 16
Slide 16 text
テストの失敗を減らす工夫
Slide 17
Slide 17 text
詳しくは… https://github.com/yondako/yondako
Slide 18
Slide 18 text
導入してみて
Slide 19
Slide 19 text
安心してTailwindの更新ができた codemodとちょっとの手直しで移行はできたけど怖8 g 設定ファイルがCSSになっB g 一部のカラートークン名が変更されてる → どっか壊れてそう……
Slide 20
Slide 20 text
安心してTailwindの更新ができた
Slide 21
Slide 21 text
安心してTailwindの更新ができた 安心・・・
Slide 22
Slide 22 text
テストレポートはデプロイすべきかも Artifactに保存して、手元で確認するようにしてい2 % 確認する手間が結構つら9 % 「まぁ、大丈夫か…」で見なくなってしまう (なった) → つらくなったらWeb上で確認できる環境をつくると良さそう
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
️ https://zenn.dev/chot/articles/cbb5e8fb6711f8
Slide 25
Slide 25 text
さいごに
Slide 26
Slide 26 text
さいごに T VRTは最小限でもあると安5 Q 人間だと自分が変更した範囲の確認に留まってしまいが Q 仕組みで守ってあげることで思わぬ差分を検知できる T まずはStorybookからはじめてみませんm Q 前提のハードルがちょっとあるけど、導入しやすく、効果もあ Q 様子を見て、ページのVRTやE2Eテストと徐々に広げていくのも よさそう
Slide 27
Slide 27 text
宣伝です!
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
ありがとうございました!